08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Rhino Working with Meshes
1. Rhino
The City University of New York
Architectural Technology Dept.
written by Severino Alfonso
Working with Meshes
2. Working with Meshes
2
Why do we need meshes?
Although Rhino is a NURBs surface modeler, it uses
polygon meshes created from those surfaces for vi-
sualization purposes - so what you see on the screen
when the model is shaded is in reality a special,
invisible polygon mesh (the “render mesh”) that is
attached to the actual NURBs surface.
Why? For quick shading and rendering. But while a
mesh has the advantages of shading speed and ad-
justability, there is a disadvantage. The render mesh
is always an approximation of the surface, so there
are almost always gaps between the faceted render
mesh and the actual smooth surface.
The same meshing engine in Rhino is used in the
creation of analysis meshes for the functions like
Draft Analysis and Curvature Analysis, EMap, etc.,
and by the Mesh command (Tools > Polygon Mesh
> From NURBs Object), which creates a “real” mesh
object directly from a NURBs object.
Exporting from Rhino with certain polygon-based
formats (such as .stl) will also create mesh objects
(in the exported file). Although you can’t edit these in
the original Rhino file, you do have the same group
of mesh density settings to control how they are cre-
ated.
The functions that create real, editable meshes like
Mesh and Export (.stl) are very important in many
applications, as other “downstream” programs or
processes often need polygon mesh objects to work
with.
All of the types of mesh objects can exist simulta-
neously in one file, they do not affect one another
and each can have its own settings. Although all the
meshes are created with the same engine, there are
a couple of important differences between them.
3. Working with Meshes
Meshes Vs Nurbs
MeshToNurb : What it is, what it isn’t
In order to fully understand what this operation does,
one must be familiar with some of the basics of basic
3D constructive geometry as well as characteristics
of both mesh and NURBS objects. For the sake of
completeness, a short description of the characteris-
tics of Meshes and NURBS is included below.
Meshes vs. NURBS
To understand what MeshToNurb does, one must
also understand the fundamental differences be-
tween a Mesh model and a NURBS surface model.
Although both can represent a 3D object as a com-
puter model, they do it in completely different ways.
A mesh represents 3D surfaces as a series of dis-
creet facets, much as pixels represent an image with
a series of colored points. If the facets/pixels are
small enough, the object/image appears “smooth”.
If we zoom in enough, however, we can still see the
“pixelization” or granularity and the fact that the
object is not locally smooth and continuous.
NURBS surfaces are mathematical representations
of curves and surfaces. They are capable of repre-
senting complex free form surfaces that are inher-
ently smooth, and they retain their smooth shape
when editing. There is no pixelization or granularity
as with a mesh. Thus they behave more like a real
person’s face rather than a pixelized image of that
same face.
It is important to note here that NURBS can be easily
converted to Meshes at any time (Fig.1 & Fig.2), in
the same way that you can easily take a digital image
of a person’s face with a camera. On the other hand,
going from Meshes to NURBS is like trying to recon-
struct a person’s face from a pixelized digital image
- it is a much more difficult task, and there are no
quick automatic methods.
Fig. 1 - Meshes Vs. Nurbs: Sphere
Fig. 2 - Meshes Vs. Nurbs: Cylinder
3
4. Working with Meshes
4
Types of meshes
Render meshes are created on NURBS surfaces and
polysurfaces for visualization purposes when using
Shaded or Rendered Viewports. They are not directly
user accessible or editable, they stay “attached” to
the NURBS object they were created from. They can
be deleted by using the ClearAllMeshes command,
and regenerated by using the RefreshShade com-
mand or by changing the settings (at File > Proper-
ties > Mesh) (Fig.3) (which forces a global regenera-
tion of all render meshes). As of V4, you can also
transform the render mesh into a real editable mesh
object using the command ExtractRenderMesh.
Analysis meshes are similar to the render meshes in
that they are not normally editable or separable from
their NURBS object. They simply have another set of
controls and exist separately from the render mesh-
es. You can see them temporarily, however, when you
use the “adjust mesh” button or the “preview” button
in the settings panel on the dialog boxes for the
Analysis commands. In V5, like with render meshes
above,you can transform an analysis mesh into a real
mesh object with the command ExtractAnalysisMesh.
Meshes created by the MESH command (Fig.4)
are visible and editable, and are separate from the
NURBS objects they were created from. They are
objects in their own right, and can be seen and
edited with the various Rhino commands that apply
to meshes (see Bonus > Mesh), and can be exported
to in the polygon mesh formats like STL, DXF, 3DS,
and OBJ.
Meshes created during SAVE and EXPORT (Fig.5)
(such as .stl) have the same mesh settings dialogs
(“Detailed Controls”) as the other types. You can also
see them temporarily when you use the “preview”
button in the settings panel, but they are not stored
in the original file (only exported).
Fig.3 - Render meshes
Fig. 4 - MESH command
Fig. 5 - EXPORT (.stl)
5. Working with Meshes
5
The Mesh Settings Dialogs
Controls
The controls for different mesh types are virtually
identical. The controls for the Render Mesh (display
mesh) settings are part of the .3DM file’s proper-
ties (Properties > Mesh). They are set globally for
the whole model, but as of V4 you can also over-
ride them on a per-object basis. Rhino offers you 2
standard settings, jagged and faster and smooth and
slower, as well as custom, which lets you access the
detailed controls.
When creating a mesh from a NURBS object, or ex-
porting to a mesh format like STL, DXF, 3DS, and OBJ
you can choose to use the “simple” controls, which
are just a coarse fine slider: fewer more polygons.
The Default settings
Jagged and Faster (Fig.6) is the default for render
meshes — fine for quick visualization, but not very
good for anything else.
Smooth and Slower theoretically offers better resolu-
tion at the expense of longer meshing times. In prac-
tice, even though it does take longer, frankly, it may
still leave visible gaps where you don’t want them, so
you are advised to try the custom settings instead.
Custom allows the user the maximum flexibility in
tailoring the mesh settings to their needs, at the
expense of being a bit complex to understand and
set up.
The default “simple” (Fig.7 & Fig. 8) slider settings
for analysis meshes as well as Mesh and Export is an
average “somewhere in the middle”…
The default setting for the special STL Export dialog
is generally the last used “max dist edge to srf” set-
ting in the custom dialog (see further on) or the value
of Absolute Tolerance in File > Properties > Units if
none was set.
Fig. 6 - Jagged and Faster
Fig. 7 - Custom
Fig. 8 - Custom
6. Working with Meshes
6
Custom Settings
How meshes are created
Polygon Mesh Options (simple controls)
The mesh is created in three steps based on the
detailed criteria: initial quads (estimated to roughly
meet the criteria), refinement (subdivision to meet
the criteria), and adjustment for trim boundaries.
Surfaces are meshed in a two step process. First a
regular quad mesh is created and then that mesh is
refined by splitting some quads into 4 smaller quads.
The Maximum aspect ratio, Maximum edge length,
and Minimum initial grid quads settings control the
generation of the initial mesh. The Density (Rhino
4 only), Maximum angle, Maximum edge length,
Minimum edge length, and Maximum distance, edge
to surface settings determine which initial quads get
split up into smaller quadrangles.
Mesh Command
Mesh SolidsNURBS Solids
7. Working with Meshes
7
Custom Settings
How meshes are created
Polygon Mesh Options (detailed controls)
Mesh Command
9. Working with Meshes
9
Detail A _ Mesh Result
Original NURB surface
B
A
Detail B _ Mesh Result
B
A
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum angle configuration
Settings
Maximum angle: 2.0
Refine Mesh
Mesh Result
10. Working with Meshes
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum angle configuration
Settings
Maximum angle: 5.0
Refine Mesh
Detail A _ Mesh Result
B
A
Detail B _ Mesh Result
B
A
Mesh Result
Original NURB surface
10
11. Working with Meshes
Detail A _ Mesh Result
B
A
Detail B _ Mesh Result
B
A
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum angle configuration
Settings
Maximum angle: 25.0
Refine Mesh
Mesh Result
Original NURB surface
11
12. Working with Meshes
Detail A _ Mesh Result
B
A
Detail B _ Mesh Result
B
A
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum edge length configuration
Settings
Maximum edge length: 10
Refine Mesh
Mesh Result
Original NURB surface
12
13. Working with Meshes
Detail A _ Mesh Result
B
A
Detail B _ Mesh Result
B
A
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum edge length configuration
Settings
Maximum edge length: 5
Refine Mesh
Mesh Result
Original NURB surface
13
14. Working with Meshes
Detail A _ Mesh Result
B
A
Detail B _ Mesh Result
Mesh Result
B
A
Meshes Vs Nurbs
Polygon Mesh Options (detailed controls)
Maximum edge length configuration
Settings
Maximum edge length: 1.0
Refine Mesh
Original NURB surface
14
15. Working with Meshes
Mesh Tools
Creation
ExtractRenderMesh - Copies the render mesh from
selected objects.
Mesh - New Density option is a scale-independent
control.
MeshEllipsoid - Creates a mesh ellipsoid.
MeshTCone - Creates a mesh cone whose apex is cut
off by a plane.
MeshTorus - Creates a mesh torus.
MeshPatch - Creates a mesh from selected 3-D
points, point cloud, polylines, and curves.
MeshPolyline - Creates a mesh from a closed planar
polyline.
PlanarMesh - Creates a planar mesh from boundary
curves.
Flip Mesh Normal
Unify Mesh Normals
15
17. Working with Meshes
Mesh Tools
Creation
Reduce Mesh Polygon Count: Reduces de number of
polygons in a mesh to a specific number.
MeshFromControlPoints - Creates a mesh from se-
lected control points.
17
18. Working with Meshes
Mesh Tools
Creation
MeshHeightfield - Creates a mesh based on the color
values in a bitmap.
18
19. Working with Meshes
Mesh Tools
Editing
CollapseMeshFace - Collapses a mesh face to adja-
cent mesh vertices.
CollapseMeshFacesByArea - Collapses mesh faces
that have surface areas that are greater and/or less
than a specified number.
CollapseMeshFacesByEdgeLength - Collapses mesh
edges above or below a certain length to a single
mesh vertex.
CullDegenerateFaces - Deletes mesh faces that have
zero area.
DeleteMeshFaces - Deletes selected mesh faces.
DupMeshEdge - Creates a polyline at selected naked
edges or creases in unwelded meshes.
19
20. Working with Meshes
Mesh Tools
Editing
AlignMeshVertices - Forces mesh vertices within a
specified distance to the same location.
CollapseMeshFacesByAspectRatio - Collapses mesh
faces based on a specified ratio of length to width.
CollapseMeshFacesByEdgeLength - Collapses mesh
edges above or below a certain length to a single
mesh vertex.
CullDegenerateFaces - Deletes mesh faces that have
zero area.
DupMeshEdge - Creates a polyline at selected naked
edges or creases in unwelded meshes.
20
21. Working with Meshes
Mesh Tools
Editing
ApplyMeshUVN - Wraps meshes and points onto a
surface based on the surface u- and v- coordinates.
DupMeshHoleBoundary - Creates a polyline that
duplicates the boundary of a mesh hole.
DeleteMeshFaces - Deletes selected mesh faces.
21
22. Working with Meshes
Mesh Tools
Editing
ExtractConnectedMeshFaces - Extracts faces that
are connected to a selected face by defining the
break angle between two connected faces.
ExtractDuplicateMeshFaces - Extracts faces that are
identical in a single mesh.
ExtractMeshFaces - Extracts faces selected by pick-
ing the face or the face edge.
ExtractMeshFacesByArea - Extracts faces within a
specified range of area.
ExtractMeshFacesByAspectRatio - Extracts faces
within a specified upper and lower aspect ratio.
ExtractMeshFacesByDraftAngle - Splits a mesh ob-
ject based on the angle of the faces to the view.
ExtractMeshFacesByEdgeLength - Extracts all faces
that have an edge greater or less than a specified
length.
ExtractMeshPart - Extracts faces that are bounded by
unwelded edges.
ExtractNonManifoldMeshEdges - Separates from the
parent mesh faces that have an edge that is shared
by 3 or more faces.
FillMeshHole - Fills mesh boundary with triangular
mesh faces.
FillMeshHoles - Attempts to fill all holes in mesh with
triangular mesh faces.
22
23. Working with Meshes
Mesh Tools
Editing
OffsetMesh - Offsets the mesh a specified distance
with the option to fill the space between the two
meshes to create a closed mesh.
23
24. Working with Meshes
Mesh Tools
Editing
FillMeshHole - Fills mesh boundary with triangular
mesh faces.
FillMeshHoles - Attempts to fill all holes in mesh with
triangular mesh faces.
SplitMeshEdge - Splits a mesh edge to create two or
more triangles.
SwapMeshEdge - Swaps the corners of triangles that
share the edge.
24
25. Working with Meshes
Mesh Tools
Creation
MeshFromPoints - Creates a mesh from selected
points or point cloud.
25
26. Working with Meshes
Mesh Tools
Editing
MeshBooleanDifference - Subtracts the shared parts
of meshes from another set of meshes.
MeshBooleanIntersection - Finds the common part of
selected meshes and deletes the unshared parts.
MeshBooleanSplit - Finds the common parts of
selected meshes and creates separate meshes from
the shared and unshared parts.
MeshBooleanUnion - Creates a single mesh from
selected meshes and deletes the shared area.
MeshSplit - Splits meshes at a curve, surface, or
mesh.
26
27. Working with Meshes
Meshing problems and weaknesses
Sometimes, you may find that even with the settings
guidelines above, you are still not getting good re-
sults. You may struggle with ghost surfaces, uneven
shading, or triangular mesh facets that cut across
empty space where they shouldn’t be. Some of these
problems may be caused by the Rhino mesher’s
reaction to certain types of geometric structures. The
only way to correct them currently may be to do some
reconstruction on your structures.
Things to watch out for:
While these conditions don’t always cause problems
meshing, they have been known to do so in the past,
so it’s worthwhile checking if you are having difficul-
ties.
Bad objects.
While they don’t always result in mesh problems,
these are easy enough to track down, so it’s a good
place to start. If you find one, try hiding it. If your
problem disappears, then perhaps all you need to do
is fix the object (make it valid) and you’ll be good to
go.
Long, skinny surfaces.
These are hard for the mesher currently. The longer
and thinner, the harder it is and the longer it takes.
A typical example might be long continuous small
radius fillets on the edges of your model. If it’s tak-
ing forever to mesh and you think you’re geometry
doesn’t warrant that, you might also have a tiny sliver
surface somewhere that’s hanging up the mesh
machine.
Joined tangent lines and arcs that have been ex-
truded or revolved.
Example - extruding a rounded rectangle. This forms
a single surface with internal G1 areas, which the
mesher struggles with. Solution - Explode the curves
before extruding, or use Split > Isocurves at the
G1 spots to create a structure with separate joined
tangent surfaces instead of one single one. In the
case of the extruded rounded rectangle, you will have
eight joined surfaces, not one.
Kinked surfaces.
Usually caused by having CreaseSplitting (V5 or V4
add-on) set to No, or using MergeSrf Smooth=No on
surfaces that are not at least tangent to each other.
In this case, again, it is better to have multiple joined
surfaces instead of one kinked one. Use Surface
edit tools > Divide surface along creases or Split >
Isocurves at the kinked spots to split these types of
surfaces up into separate parts.
Triangular surfaces with holes
This is a known Rhino bug in V4. The “Use simple
planes” setting (outlined above) messes up with
either a triangular planar surface with a hole in the
middle, or a planar surface with a triangular hole
in the middle. The symptom is that the hole is not
displayed in shaded mode, even though it is there.
The remedy is to uncheck “Use simple planes” in the
detailed mesh dialog. If you are using “Jagged and
Faster”, “Simple planes” is checked by default and
can’t be unchecked, so you will have to switch to a
“Custom” mode.
27
28. Working with Meshes
28
Importing and export Meshes
Importing an Existing Mesh:
Rhino can read in polygon meshes using one of
several file formats: AutoCAD DXF (both 3DFace and
Polyface entities), STL, RAW (any quad polygons in
the file will be converted to triangles), 3DS, and oth-
ers (See Import and Export Formats under the Help
Index.) Being a NURBS modeler, Rhino can do little
with existing meshes.
Importing a Surface Geometry:
Rhino can read surface geometries using one of two
formats: IGES and AutoCAD DXF. Rhino recommends
the use of the IGES format for transferring surface
geometries into Rhino from Catia, Mechanical Desk-
top, Microstation, Pro/E, SRDC I-DEAS, SolidWorks,
Unigraphics, and others (See Related Topics under
the Help Index topic IGES File Exchange.)
Preparing the Surfaces for Meshing:
To ensure a “watertight” mesh (in which adjacent
polygons share common vertices), you must join all
surfaces together. There are two methods: Edit->Join
and Solid->Union/Difference. The second method is
a Boolean operation.To eliminate unwanted surface
transitions and imperfections use the Transform-
>Smooth command.
Meshing the Surface:
Select the surface. Use the menu command Tools-
>Polygon Mesh->From NURBS object. A Create
Polygon Mesh from NURBS object window will pop
up; hit Detailed Controls. In the (Detailed Controls)
Mesh from NURBS window, set Max aspect ratio = 1.
Hit Preview. If you don’t like what you see (Rhino will
probably create more polygons than you want), type
in a very small value for Min Edge Length and hit
Preview. Increase Min Edge Length gradually, hitting
Preview after every change, until the mesh no longer
has undesirable detail in it. If your surfaces have
small details in them, Rhino will not be able to gloss
over the detail when meshing. If you end up with
some overly big polygons, use the Max Edge Length
to decrease the size of your largest polygons.
Preparing the Mesh for Export:
If you want to break the mesh into parts, use the
Tools->Polygon Tools->Explode command. This op-
eration may result in more parts than you desire. You
can combine the pieces into the parts that you desire
either in Rhino or WinTherm. We recommend doing
as much as you can within Rhino. The Tools->Polygon
Mesh->Join command joins adjacent mesh parts.
Exporting the Mesh:
Once you’re happy with the mesh, hit OK in the Mesh
From NURBS window. Select the mesh, and then use
the menu command File->Export Selected. Rhino can
export a polygon mesh in various formats (AutoCAD
DXF, STL, RAW, 3DS, Wavefront OBJ, VRML, etc). We
recommend using Wavefront OBJ or AutoCAD DXF
for import into WinTherm. When exporting an OBJ
file, select Polygon Mesh and Polylines in the option
window. When exporting an AutoCAD DXF file, use
the options Write Surfaces as Meshes and Write
Meshes as 3DFaces. You can also use the File->Save
As->Wavefront OBJ command; however, we do not
recommend using this option since you must then
mesh during the file save operation which denies you
opportunity to prepare the mesh for export.
29. Working with Meshes
Mesh Diagnostics
Sometimes a model can become damaged. These
damaged areas can cause problems.
It is possible to build bad models using Rhino tools
- for instance, if you trim a surface with a self-
intersecting curve, Rhino will let you do it, but the
result will be a poorly defined model that will cause
problems later.
Another problem is having a tiny, trimming edge that
then gets joined to a larger trim curve on an adjacent
surface. If Rhino matches the large edges, some-
times the tiny trim curve edge can get compressed
even further so that it is really just a point. That com-
pressed edge no longer has a meaningful orientation
and causes problems.
There are modeling techniques you can use to in-
crease the overall robustness of your models. Draw-
ing tiny little lines to connect pieces of a trim curve
instead of moving the two endpoints of the curves
together generally messes up joining other edges
together and tends to cause problems.
Sometimes the microscopic edges can be gener-
ated through other means, like Booleans where the
objects are just off from each other by a little bit.
Trimming edges that are very small or curved back
on themselves are the biggest cause of problems in
models.
There are Rhino tools you can use to examine your
model for these defects.
The first one to try is the Check command. If your
model doesn’t pass Check, then it will list some spe-
cific problems. You can just use the list to indicate
that you might need to tune up the model.
If a model passes Check, it doesn’t automatically
mean that it is 100% properly structured, though.
Some bad model parts, like having surfaces that
fold back on themselves or self-intersect, are very
time consuming and difficult to automatically detect,
and Check doesn’t check for those things. But it can
check the general overall structure of the object.
The workaround is to Explode, Untrim, Trim again,
and Join. If there are lots of tiny edges, then you may
have to use the SplitEdge command to split all edges
so they have a compatible structure, and then use
JoinEdge to manually mate the proper pairs.
When there are long things and tiny things adjacent
to each other, the Join command can get confused
- when that happens, the low level manual JoinEdge
can work as a replacement.
These tools are on the Analyze menu under Edge
Tools. You may need to use several of these tools to
fix difficult broken models as well.
Avoiding Modeling Errors
In general, try to avoid creating tiny edges in models.
Do not use curves where there is a tiny line in the
middle of the curve that joins two pieces together.
Try to make sure that adjacent parts mate cleanly
with a good, simple edge-to-edge matching.
You can…
List data structure of an object — List command
Check objects — Check and CheckMesh (v4) com-
mands.
Select bad objects — SelBadObjects and ExtractBad-
Srf commands
29
30. Working with Meshes
Mesh Tools
Weaverbird
Weaverbird is a topological modeler that contains
many of the known subdivision and transformation
operators, readily usable by designers. Instead of
doing the work repeatedly, or sometimes using com-
plicated scripts, this plug-in reconstructs the shape,
subdivides any mesh, even made by polylines, and
helps preparing for fabrication.
30
31. Working with Meshes
Mesh Tools
Weaverbird
Catmull-Clark smoothing
Catmull-Clark smoothing (wbCatmullClark). Calcu-
lates the type of mesh-based recursive subdivision
described by Edwin Catmull and Jim Clark, at first in
1978. The resulting mesh always consists of quadri-
laterals.
31
32. Working with Meshes
Mesh Tools
Weaverbird
Split mesh into Quads
Split mesh into Quads (wbSplitQuad). Calculates a
new mesh, which is formed of only quads and gener-
ally appears similar to the old one, except that it is
welded. It is topologically equivalent to the Catmull-
Clark subdivision.
32
33. Working with Meshes
Mesh Tools
Weaverbird
Loop smoothing
Loop smoothing (wbLoop). Calculates the type of
mesh-based recursive subdivision described by
Charles Loop, at first in his Mathematics thesis in
1987. The resulting mesh always consists of triangu-
lar faces.
33
34. Working with Meshes
Mesh Tools
Weaverbird
Split mesh with inner face
Split mesh with inner face (wbSplitPolygons). Places
a new face departing from the middle of each origi-
nal face edge. Caps the remaining hole with Sierpin-
ski triangles.
34
35. Working with Meshes
Mesh Tools
Weaverbird
Sierpinsky Triangles subdivision
Sierpinsky Triangles subdivision (wbSierpinskyTrian-
gle). Places a triangle in each corner of a mesh face.
The mesh will have one more hole per face.
35
38. Working with Meshes
Mesh Tools
Weaverbird
Frame
Frame (wbFrame). Computes a new mesh with higher
naked edge count, where each face has a new hole
in the center and resembles a picture frame. The
resulting mesh always consists of quad faces.
Carpet
Carpet (wbCarpet). Computes a new mesh with
higher naked edge count, where each face has a
new hole in the center. The resulting mesh always
consists of quad faces, and can be used to compute
a Sierpinski carpet.
38
39. Working with Meshes
Mesh Tools
Weaverbird
Window
Window (wbWindow). Replaces each original mesh
face with a new one, reconstructed on the inside.
Each face has the same number of sides as the
original one.
Bevel Edges
Bevel Vertices
39