This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
rhino:meshsettings [2020/08/14] 127.0.0.1 external edit |
rhino:meshsettings [2022/03/21] kelvin |
||
---|---|---|---|
Line 5: | Line 5: | ||
Manage the mesh settings for the current model. | Manage the mesh settings for the current model. | ||
- | Whenever you shade or render a NURBS surface, Rhino has to convert | + | Whenever you shade or render a NURBS or SubD surface, Rhino has to convert |
====Render mesh quality settings==== | ====Render mesh quality settings==== | ||
Line 34: | Line 34: | ||
- | > //**How meshes are created | + | ==How meshes are created== |
+ | Meshing a surface or polysurface | ||
+ | |||
+ | - The first step creates a regular rectangular grid of vertices | ||
+ | - The second step refines | ||
+ | - The third step trims the mesh along the trimmed surface edges. This step does nothing if the object being meshed | ||
+ | - The fourth | ||
+ | |||
+ | 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 | ||
+ | |||
+ | In the first step, all mesh faces are quadrangles. In all further steps, new triangular faces can be introduced in the mesh. Only the second step can introduce new mesh vertices in the interior | ||
+ | |||
+ | ====NURBS meshing parameters==== | ||
+ | Many of these parameters are shared between the first and second steps. All steps except the fourth are run independently for each face. | ||
+ | |||
+ | == Density == | ||
+ | Density is the parameter controlled by the slider in the simple mesh controls dialog. It uses a formula | ||
==Maximum angle== | ==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. | ||
- | Sets the maximum allowed angle between input surface normals at neighboring mesh vertices. If 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. | + | {{: |
- | The Maximum angle setting influences the meshing of same shape objects in the same way regardless of their size. It tends to make meshes denser in areas of high curvature and less dense in flatter areas. | + | //Maximum angle = 10° with Refine mesh enabled.// |
- | > **Experiment: | + | This setting will influence the meshing of objects |
+ | |||
+ | This setting is scale independent. | ||
==Maximum aspect ratio== | ==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. | ||
- | 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 |
- | Smaller values result in slower meshing and a 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 option. Zero means no limit. | ||
- | |||
- | 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. | + | {{: |
+ | |||
+ | //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: |