This shows you the differences between two versions of the page.
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 discontinued. The content can be found in the |
- | + | ||
- | 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 screen. These 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 | + | ====How meshes are created==== |
+ | Meshing a surface or polysurface | ||
- | ==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.\\ {{: |
+ | - 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.\\ {{: | ||
+ | - 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.\\ {{: | ||
+ | - 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.\\ {{: | ||
- | Sets the maximum allowed angle between input surface | + | All vertices generated by the meshing process are exactly on the surface. |
- | The Maximum angle setting influences | + | In the first step, all mesh faces are quadrangles. In all further steps, new triangular faces can be introduced |
- | > **Experiment: | + | ====NURBS meshing parameters==== |
+ | Many of these parameters are shared between the first and second steps. All steps except | ||
- | ==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.\\ {{: | ||
- | 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 a higher polygon count with more equilateral and nicely shaped polygons. This is approximately | + | ===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 a single edge. In the mesh refinement step, quadrangles are subdivided until the angle between surface normals is smaller than this value. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | //Maximum angle = 10° with Refine mesh enabled.// | ||
+ | |||
+ | This setting will influence | ||
- | 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. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | //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.// | ||
+ | |||
+ | > | ||
==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 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 a lower polygon count. Setting this value to zero turns off the minimum | + | //Small faces in the center are eliminated from the mesh by a larger Minimum |
- | This option is scale dependent. | + | The default |
+ | 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 | + | Smaller values result in slower meshing and a higher |
- | 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. | + | {{: |
- | ==Maximum | + | //The surfaces (left) are meshed with a large (middle) and a small (right) |
+ | //Surfaces of the same shape but different sizes (top row vs bottom row) are meshed differently: | ||
- | 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. | + | > |
- | Smaller values result in slower meshing, more accurate meshes, and a higher polygon count. Setting | + | ===Maximum distance, edge to surface=== |
+ | The distance is calculated from a mesh edge midpoint to the surface. In 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 | ||
- | The default value is zero and the usable range depends on the size of the model. | + | {{: |
- | 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 |
- | Rhino uses at least as many polygons as you designated and maybe more. | + | > |
- | Bigger values result | + | ===Minimum initial grid quads=== |
+ | The minimum number of quadrangles per surface | ||
+ | {{: | ||
- | ==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 | ||
- | The mesh is refined until the angle between surface normals along a polygon | + | No refinement results in faster meshing, less accurate meshes, and lower polygon |
- | No refinement results in faster meshing, less accurate meshes, | + | Refinement is disabled for extrusions |
- | ==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. | + | {{: |
- | Checking | + | //Meshes created with Jagged |
+ | //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 | + | > |
- | Simple planes causes a slower meshing and a minimum polygon count on planar | + | ===Simple planes |
+ | 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 | ||
- | 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. | + | {{: |
- | > **Note: | + | //Meshes |
+ | 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: |