Latest news
Tips & GuidesRhino

Rhino 8 Surface Flattening Guide: UnrollSrf or Squish?

In Rhino 8, UnrollSrf flattens developable surfaces with curvature in one direction, while Squish converts double-curved surfaces into 2D patterns and reports deformation. The right command depends on the surface geometry and material requirements.

Comparison of a curved architectural panel’s flat pattern and 3D formAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. UnrollSrf flattens surfaces with curvature in one direction; it cannot accurately flatten double-curved surfaces such as spheres and tori.
  2. Squish creates 2D patterns from double-curved mesh or NURBS surfaces and highlights areas of compression and stretching.
  3. Gaussian curvature analysis can help determine whether a surface is developable.
  4. A Squish result is not a guaranteed production-ready pattern; material properties and manufacturing expertise must also be considered.

Rhino 8’s UnrollSrf and Squish commands can be used to create 2D patterns from 3D surfaces. According to McNeel’s Rhino 8 documentation, UnrollSrf flattens developable surfaces with curvature in one direction, while Squish converts mesh or NURBS surfaces with curvature in two directions into flat patterns, with deformation estimates. Before starting, assess the surface geometry and how the material intended for production will stretch or compress.

1. First, assess whether the surface is developable

A developable surface can be formed by bending a flat sheet of material without stretching, tearing, or wrinkling it. Cylinders, cones, and some ship hull surfaces fall into this category. These surfaces curve in one direction; in the other direction, they contain straight lines running along the surface. McNeel’s documentation states that developable surfaces have zero Gaussian curvature.

Spheres and similar shapes that curve in two directions cannot be flattened in the same way. Gaussian curvature analysis helps identify areas with double curvature. Rhino’s Curvature command also displays curvature as you move the cursor across a surface: according to the documentation, developable surfaces show one arc and a line, while double-curved surfaces show two arcs.

  1. Check the surface and any trim curves before flattening.

  2. Use Gaussian curvature analysis to identify areas with double curvature.

  3. Consider UnrollSrf for surfaces curved in one direction, and Squish for double-curved surfaces.

2. Using UnrollSrf on developable surfaces

UnrollSrf converts a surface or polysurface into a planar surface. Curves, text dots, or points on the surface can also be selected with the command. If a trimmed polysurface cannot be unrolled, McNeel recommends removing the trim curves, unrolling the surface and curves, then trimming the flattened surface again.

The command’s menu path is Surface Tools › Surface › Surface Flattening › Unroll Developable Surface. Use the Explode option to keep the resulting surfaces separate or rejoin them along the shared edges of the original polysurface. If certain edges need to remain split after unrolling, use UnjoinEdge before the operation to select the edges to leave open. The Labels option creates matching numbered marks on the original object and the result; KeepProperties determines whether object properties are copied to the new surfaces.

Rhino may show a warning about the difference between the area of the unrolled surface and that of the original surface. This warning matters: some surfaces may differ in area and direction lengths after unrolling. UnrollSrfUV is a separate command that preserves the UV information of input surfaces while flattening them. Its LinearDirection setting determines which isoparametric curves are treated as straight. On a developable surface such as a cylinder, choosing the wrong direction can cause distortion and an area-loss warning.

3. Squish for double-curved surfaces

Squish converts 3D mesh or NURBS surfaces with curvature in two directions into flat 2D patterns. The command marks areas expected to compress when the pattern is formed into a 3D shape with red point clouds, and areas expected to stretch with green point clouds. Up to ten text dots can be added at locations with the most significant deformation; the number indicates the percentage change in length. The report also includes estimates of area change, compression, and expansion.

  1. If the surface has a closed seam, consider the SplitSeams option. It can help flatten a mesh by splitting it along the seam; the documentation gives closed cylindrical shapes as an example.

  2. Use the PreserveBoundary option to prevent boundary lengths from distorting.

  3. Choose a Deformation setting based on the material’s behavior. Free does not favor stretching or compression. StretchMostly and StretchOnly prioritize expansion; CompressMostly and CompressOnly prioritize compression. The Custom options let you specify custom deformation parameters.

  4. If the material used in production is rigid or flexible, set Material accordingly. Rigid aims to reduce strain when forming a 3D shape from rigid material; Floppy aims to limit geometric distortion as much as possible in flexible material.

When CustomA, CustomB, or CustomC is selected, the BndStretch, BndCompress, InteriorStretch, and InteriorCompress parameters can be adjusted. According to the documentation, these parameters default to 1, and any positive value can be assigned to each. A higher value reduces the effect of the corresponding deformation when the other parameters are equal. In McNeel’s example for seriously limiting interior expansion, BndStretch, BndCompress, and InteriorStretch are set to 1, while InteriorCompress is set to 100. In the example for preserving boundary lengths, BndStretch and BndCompress are set to 10, with the interior parameters set to 1. These combinations are examples in the documentation to illustrate how the parameters work, not universal recipes.

SettingExample in the documentationEffect
Limit interior expansionBndStretch=1, BndCompress=1, InteriorStretch=1, InteriorCompress=100Example given for seriously limiting interior expansion.
Preserve boundary lengthsBndStretch=10, BndCompress=10; interior parameters=1Example shown in the documentation for preserving boundary lengths.
Material preferenceRigid for rigid material; Floppy for flexible materialSets the deformation approach according to the material type.

What changes in an architecture and visualization workflow?

Architecture, interior design, and visualization teams preparing cutting patterns for curved surfaces should choose a command based on more than the model’s appearance. UnrollSrf offers a direct method for developable surfaces, while Squish makes deformation visible and helps create an initial pattern for double-curved surfaces. Rhino’s documentation cautions that Squish does not fully model real material behavior. When material, cutting, or bending costs matter, the pattern should be validated with workshop and material expertise. Since Squish does not work well on developable surfaces, UnrollSrf should be used for this type of geometry.

Common mistakes

  • Assuming a double-curved surface can be flattened without errors using UnrollSrf. Shapes such as spheres and tori cannot be accurately flattened with this command.

  • Treating the 2D pattern produced by Squish as final and production-ready. The command estimates deformation; it does not replace real material properties or production conditions.

  • Overlooking UnrollSrf’s area-difference warning or failing to check the LinearDirection selection in UnrollSrfUV.

  • Using Squish on developable surfaces. The documentation states that this command does not produce good results on these surfaces.

Sources

2 sources
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/unrollsrf.htm
Summary
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/squish.htm
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture and interior design firms in Turkey, the value of these commands is that they help surface geometry-related risks early when creating patterns from curved surfaces before production. UnrollSrf is the right starting point for developable surfaces, and Squish for double-curved forms; however, it is not safe to treat Squish output as a cutting file without further checks.

The documentation does not specify any special hardware requirements, so it is not possible to attribute hardware investment to this workflow. It is important for firms to check area-difference warnings, UV direction, and material selection, and to validate results with workshop expertise on projects with high production costs.

Frequently asked questions

Which surfaces can be flattened with UnrollSrf in Rhino 8?

Developable surfaces with curvature in one direction can be flattened. Spheres, tori, and surfaces curved in two directions cannot be accurately unrolled.

What does Rhino Squish do?

Squish converts a double-curved mesh or NURBS surface into a 2D pattern and visualizes estimated compression and stretching.

Is a pattern created with Squish definitive for production?

No. McNeel states that Squish does not fully model real material properties and that material and manufacturing expertise may be needed for production.

Comments and the forum are in Turkish.Join the discussion
+

Related news