Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
rhino:meshsettings [2022/03/21]
kelvin
rhino:meshsettings [2022/03/26]
kelvin [Mesh]
Line 1: Line 1:
 ====== Display Mesh Document Properties ====== ====== Display Mesh Document Properties ======
  
-====Mesh==== +The wiki page has been discontinuedThe content can be found in the  [[http://docs.mcneel.com/rhino/7/help/en-us/popup_moreinformation/polygon_mesh_detailed_options.htm|Polygon Mesh Detailed Options]] topic of Rhino Help.
- +
-Manage the mesh settings for the current model. +
- +
-Whenever you shade or render a NURBS or SubD surface, Rhino has to convert it into a polygon mesh to display the shaded surface on the screenThese detailed render mesh options control the way in which the surfaces are converted to polygon meshes. +
 ====Render mesh quality settings==== ====Render mesh quality settings====
  
Line 31: Line 26:
  
 ===Detailed controls=== ===Detailed controls===
-The **Detailed Controls** button shows more settings for mesh fine-tuning.  The following is a description of how these detailed settings work.+The **Detailed Controls** button shows more settings for mesh fine-tuning.
  
  
-> //**How meshes are created - **The mesh is created in three steps based on the detailed criteriainitial 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 four 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.//+====How meshes are created==== 
 +Meshing a surface or polysurface in Rhino happens in up to four steps: 
  
-==Maximum angle==+  - The first step creates a regular rectangular grid of vertices on the surface. If the surface is trimmed, the shrunk copy of the surface is used for this step. The spacing of this grid can vary along each direction, and is estimated to roughly meet the meshing criteria set in NURBS meshing parameters.\\ {{:rhino:meshingstep1.gif|}} 
 +  - The second step refines the grid by subdividing some quadrangles of the initial grid until each quadrangle meets the meshing criteria. This step does nothing if “Refine mesh” is false.\\ {{:rhino:meshingstep2.gif|}} 
 +  - The third step trims the mesh along the trimmed surface edges. This step does nothing if the object being meshed is a single untrimmed surface.\\ {{:rhino:meshingstep3.gif|}} 
 +  - The fourth step combines coincident vertices along the joined surface edges to fill the gaps. This step does nothing if “Jagged seams” is true or if the object being meshed is not a polysurface.\\ {{:rhino:meshingstep4.gif|}}
  
-Sets the maximum allowed angle between input surface normals at neighboring mesh verticesIf the angle between surface normals is greater than this setting, the mesh is further refined (more vertices are inserted) and the mesh is made denser. Two vertices are neighbors if they are at the opposite ends of a single facet edge.+All vertices generated by the meshing process are exactly on the surface. Meshing error is typically measured as the distance between the mesh edges midpoints and the surface.
  
-The Maximum angle setting influences the meshing of same shape objects in the same way regardless of their sizeIt tends to make meshes denser in areas of high curvature and less dense in flatter areas.+In the first step, all mesh faces are quadrangles. In all further steps, new triangular faces can be introduced in the meshOnly the second step can introduce new mesh vertices in the interior of the meshed surface. Step three and four can introduce new mesh vertices on edges.
  
-> **Experiment:** //Make a model with a sphere, torus, and cylinder. Then scale these objects to make a small, medium, and large-sized versionNow vary Maximum angle and notice the results.//+====NURBS meshing parameters==== 
 +Many of these parameters are shared between the first and second stepsAll steps except the fourth are run independently for each face.
  
-==Maximum aspect ratio==+=== Density === 
 +Density is the parameter controlled by the slider in the simple mesh controls dialog. It uses a formula to control how close the polygon edges are to the original surface. The default value is 0.5, and acceptable values are between 0 and 1. Larger values result in a mesh with a higher polygon count.\\ {{:rhino:maxdist.png?600|}}\\ MaxDist = size \times 10^{-p}, \text{ with } p = {\begin{cases}1+6 \times density-4 \times density^2,& \text{if } density < 1/2\\2+2 \times density,& \text{otherwise}\end{cases}}
  
-Surfaces are initially tessellated with a regular quadrangle mesh and then that mesh is refined. The initial quad mesh is constructed so that, on average, the maximum aspect ratio of the quads is less than or equal to Maximum aspect ratio. 
  
-Smaller values result in slower meshing and higher polygon count with more equilateral and nicely shaped polygons. This is approximately the maximum aspect ratio of the quads in the Minimum initial grid quads. Setting Maximum aspect ratio to zero turns off the optionZero means no limit.+===Maximum angle=== 
 +In the initial grid step, this value controls the approximate maximum angle made by the surface normals at neighboring mesh vertices. Two vertices are neighbors if they are at the opposite ends of single edge. In the mesh refinement step, quadrangles are subdivided until the angle between surface normals is smaller than this value. 
 + 
 +{{:rhino:maxangle.gif|}} 
 + 
 +//Maximum angle = 10° with Refine mesh enabled.// 
 + 
 +This setting will influence the meshing of objects of the same shape in the same way regardless of the size of the objects. It will tend to make meshes denser in areas of high curvature and less dense in flatter areas. Setting this value to 0 disables the criterionThe default value is 0°, and the suggested range is from 5° to 90°.
  
-The default value for this option is zero and the suggested range, when not zero, is from 1 to 100. 
 This setting is scale independent. This setting is scale independent.
  
-When shading long, skinny objects, use 0.0 for the value. This allows infinite ratios. Control the smoothness of the mesh with other parameters.+===Maximum aspect ratio=== 
 +In the initial grid step, this value controls the approximate maximum aspect ratio of the quadrangles. In the mesh trimming step, this value controls when to subdivide quads that would otherwise become too skinny when trimmed. 
 + 
 +Smaller values result in slower meshing and a higher polygon count with more equilateral and nicely shaped polygons. Setting this value to 0 disables the criterion. The default value for this option is 0 and the suggested range, when not 0, is from √2 to 100. 
 + 
 +This setting is scale independent. 
 + 
 +{{:rhino:maximumaspectratio.png|}} 
 + 
 +//The surfaces (left) are meshed with a large (middle) and a small (right) Maximum aspect ratio.// 
 +//Surfaces of the same shape but different sizes (top row vs bottom row) are meshed the same way: the maximum aspect ratio parameter is scale independent.// 
 + 
 +>**Application** //When shading long, skinny objects, use 0 for this value. This allows infinite ratios. Control the smoothness of the mesh with other parameters.//
  
 ==Minimum edge length== ==Minimum edge length==
 +In the initial grid step, this value controls the approximate minimum edge length of the quadrangles. In the refinement step, if any edge is shorter than this value, no further division of the mesh faces occurs.
  
-If an edge is shorter than the Minimum edge length, the mesh face is not divided further. This is also, approximately, the minimum edge length of the quads in the Minimum initial grid quads.+{{:rhino:minimum_edge_length.png|}}
  
-The default value for this option is 0.0001 units and the usable range depends on the model size. Bigger values result in faster meshing, less accurate meshes, and lower polygon count. Setting this value to zero turns off the minimum edge length option.+//Small faces in the center are eliminated from the mesh by larger Minimum edge length.//
  
-This option is scale dependent. The value is always in the current unit system.+The default value for this option is 0.0001 system units and the usable range depends on the size of the model. Bigger values result in faster meshing, less accurate meshes and a lower polygon count. Setting this value to 0 disables the criterion.
  
 +This setting is scale dependent.
  
-==Maximum edge length==+===Maximum edge length==
 +In the initial grid step, this value controls the approximate maximum edge length of the quadrangles. In the refinement step, quadrangles are further divided until all edges are shorter than this value.
  
-Polygons are further divided until all polygon edges are shorter than this value. This is also, approximately, the maximum edge length of the quads in the Minimum initial grid quads.+Smaller values result in slower meshing and a higher polygon count with more equally sized polygons. Setting this value to 0 disables the criterionThe default value is 0 and the usable range depends on the size of the model.
  
-Smaller values result in slower meshing and a higher polygon count with more equally sized polygons. Setting this value to zero turns off the option.+This setting is scale dependent.
  
-The default value is zero and the usable range depends on the model size. This option is scale dependent.+{{:rhino:maximumedgelength.png|}}
  
-==Maximum distance, edge to surface==+//The surfaces (left) are meshed with a large (middle) and a small (right) Maximum edge length.// 
 +//Surfaces of the same shape but different sizes (top row vs bottom row) are meshed differently: the maximum edge length parameter is scale dependent.//
  
-Polygons divide until the distance from a polygon edge midpoint to the NURBS surface is smaller than this value. This distance is also the approximate maximum distance from polygon edge midpoints to the NURBS surface in the Minimum initial grid quads.+>**Application**\\ Use for making sure the polygons are approximately the same size.
  
-Smaller values result in slower meshingmore accurate meshes, and higher polygon countSetting this value to zero turns off the option.+===Maximum distanceedge to surface=== 
 +The distance is calculated from mesh edge midpoint to the surfaceIn the initial grid step, the grid will approximately match this criterion. In the mesh refinement step, quadrangles are subdivided until the distance from a polygon edge midpoint to the surface is smaller than this value.
  
-The default value is zero and the usable range depends on the size of the model.+{{:rhino:maximum_dist_edge_to_surface.gif|}}
  
-Use as a general polygon mesh tolerance setting.+//Maximum distance, edge to surface = 1.0, 0.5, 0.1//
  
-==Minimum initial grid quads==+Smaller values result in slower meshing, more accurate meshes, and a higher polygon count. Setting this value to 0 disables the criterion. The default value is 0 and the usable range depends on the size of the model.
  
-The number of quadrangles per surface in the initial mesh grid. This is the first stage of meshing. Rhino splits the surface into the number of rectangles you input. From this point, Rhino can either refine the mesh by checking the other parameters. If necessary, it splits the rectangles.+This setting is scale dependent.
  
-Rhino uses at least as many polygons as you designated and maybe more.+>**Application**\\ Use as a general polygon mesh tolerance setting.
  
-Bigger values result in more evenly distributed polygons, but slower meshingThe suggested range is from 0 to 10000. To turn offset the value to zero+===Minimum initial grid quads=== 
 +The minimum number of quadrangles per surface in the initial mesh gridNote that value applies to the shrunk untrimmed surfaceso trimmed surfaces can use fewer quadrangles than this value.
  
 +{{:rhino:minimum_initial_grid_quads.gif|}}
  
-==Refine mesh (checkbox)==+//Minimum initial grid quads 100, every surface starts meshing with 100 quads regardless of their sizes.//
  
-After its initial meshing, Rhino uses a recursive process to refine the mesh until it meets the criteria defined by Maximum angle, Minimum edge length, Maximum edge length, and Maximum distance, edge to surface options.+===Refine mesh (checkbox)=== 
 +If this option is true, in the mesh refinement step, Rhino uses a recursive process to refine the mesh by subdividing quadrangles until they meet the criteria defined by the Maximum angle, Minimum edge length, Maximum edge length, and Maximum distance, edge to surface options.
  
-The mesh is refined until the angle between surface normals along a polygon edge is smaller than this valueThe default is 20 degrees and the suggested range is from 5 to 90 degrees. Setting Maximum angle to 0 turns off the option.  It is scale independent.+No refinement results in faster meshing, less accurate meshes, and lower polygon countNo refinement also means untrimmed individual surfaces and surface areas away from trim edges and joined edges are meshed with evenly sized quadrangles.
  
-No refinement results in faster meshing, less accurate meshes, and lower polygon count. If you clear this checkbox, untrimmed individual surfaces and surface areas away from trim edges and joined edges are meshed with evenly sized quadrangles.+Refinement is disabled for extrusions and ruled surfaces.
  
-==Jagged seams (checkbox)==+===Jagged seams (checkbox)==
 +If this option is true, all surfaces are meshed independently and Rhino does not stitch the edges of joined surface edges together.
  
-All surfaces mesh independently and Rhino does not stitch the edges of joined surface edges together. Meshes for each surface in a polysurface do not necessary meet to form a watertight mesh. If Jagged seams is not checked, watertight meshes are created.+{{:rhino:jaggedseams.png|}}
  
-Checking Jagged Seams causes faster meshing, a lower polygon count and cracks between joined surfaces in the rendered image. Rhino does not support watertight quadrangle meshes unless you are meshing a single untrimmed surface. In this case, clear Refine mesh and use Jagged seams to generate quadrangle meshes.+//Meshes created with Jagged seams enabled (left) and disabled (right).// 
 +//The magenta edges in the left mesh are naked edges.//
  
 +Meshes for each surface in a polysurface do not necessarily meet to form a watertight mesh. This causes faster meshing, a lower polygon count and cracks between joined surfaces in the rendered image.
  
-==Simple planes (checkbox)==+If this option is false, watertight meshes are created.
  
-All planar surfaces are meshed by meshing the surface edges and then filling the area bounded by the edges with triangles.+>**Application**\\ The Rhino mesher does not support watertight meshes made only of quadrangles unless you are meshing a single untrimmed surface. In this case, clear Refine mesh and use Jagged seams to generate quadrangle meshes.
  
-Simple planes causes a slower meshing and a minimum polygon count on planar surface, especially for complex trimmed surfaces.+===Simple planes (checkbox)=== 
 +If this option is true, all planar surfaces are meshed by meshing the surface edges and then filling the area bounded by the edges with triangles. This causes a slower meshing and a minimum polygon count on planar surfaces, especially for complex trimmed surfaces.
  
-If Simple planes is selected, the settings, except Jagged seams, are ignored for planar surfaces and the planar surface is meshed with as few polygons as possible.+{{:rhino:simpleplane.png|}}
  
-> **Note:** //The meshes created by the Mesh command are visible and editable, and separate from the [[rhino:nurbs|NURBS]] objects they were created from. The meshes created by Rendered Viewport and Shaded Viewport on NURBS surfaces and polysurfaces are invisible, not editable, and cannot be separated from the NURBS object, except to destroy them with the **RefreshShade** command. Render meshes are controlled by a different set of meshing settings, which are on the Document Properties dialog box Render page.//+//Meshes created with Simple planes enabled (left) and disabled (right).//
  
 +If this option is true, all other settings except for Jagged seams are ignored for planar surfaces, and the planar surface is meshed with as few polygons as possible.
  
 +===Pack Textures===
 +If this option is true, Rhino packs the mesh textures of the meshed polysurfaces.
  
 +====SubD meshing parameters====
 +==Level==
 +This setting controls the minimum subdivision level of the meshes converted from SubD objects.
  
 +A smaller level results in faster meshing, less accurate meshes, and lower polygon count. The default value is 4 and the accepted range is 1 to 6.
 +
 +> **Note:** //The meshes created by the Mesh command are visible and editable, and separate from the [[rhino:nurbs|NURBS]] objects they were created from. The meshes created by Rendered Viewport and Shaded Viewport on NURBS surfaces and polysurfaces are invisible, not editable, and cannot be separated from the NURBS object, except to destroy them with the **RefreshShade** command. Render meshes are controlled by a different set of meshing settings, which are on the Document Properties dialog box Render page.//
rhino/meshsettings.txt · Last modified: 2022/03/26 by kelvin