Latest news
Tips & GuidesRhinoMAS

Unrolling Surfaces in Rhino 8: UnrollSrf, Smash and Squish

In Rhino 8, the right command for flattening a surface depends on whether it curves in one direction or two. We explain the differences between UnrollSrf, Smash and Squish, and how to check their results.

Flat material pattern beside curved interior claddingAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. UnrollSrf flattens developable surfaces with curvature in one direction; it does not produce accurate results for doubly curved surfaces such as spheres.
  2. Smash creates an approximate flattening of doubly curved surfaces and can be used with materials that can stretch.
  3. Squish lets you visually inspect compression and stretching as it flattens a 3D mesh or NURBS surface.
  4. A Squish output is not a guaranteed production pattern; material and manufacturing conditions must be evaluated separately.

When converting a 3D surface into a flat pattern in Rhino 8, choose the command based on the directions of the surface’s curvature. McNeel’s Rhino 8 documentation describes UnrollSrf for developable surfaces with curvature in one direction, and Smash and Squish for approximating the flattening of doubly curved surfaces. This guide covers the commands’ use cases, the effects of their settings, and steps for evaluating the resulting flat pattern before production.

1. Determine whether the surface can be flattened

Developable surfaces can be formed by bending a flat sheet without stretching, tearing or wrinkling it. Cylinders and cones are examples. In Rhino 8, UnrollSrf flattens surfaces of this kind, as well as suitable polysurfaces. Curves, text dots and points on the surface can also be included in the selection when running the command.

Spheres, tori and surfaces that curve in two directions cannot be transferred to a flat pattern without error unless material behavior is taken into account. Before starting, use Gaussian curvature analysis to inspect doubly curved regions and identify areas that are not developable. The Curvature command, described in Rhino’s documentation, also provides visual feedback about curvature as you move the cursor over a surface: a developable surface is represented by a single curvature arc, while a doubly curved surface is represented by two.

You can run UnrollSrf from the command line. The menu path is Surface Tools › Surface › Surface Flattening › Unroll Developable Surface. The Explode option determines whether the flattened surfaces remain separate or are rejoined along the edges of the original polysurface. If the flattened surface needs to be split along specific edges, select them with UnjoinEdge before running the command.

2. Evaluate Smash and Squish for double curvature

Smash produces an approximate 2D flattening without requiring the surface to be linear in one direction. Because a doubly curved form cannot be flattened onto a non-stretchable surface such as paper without error, the result is necessarily approximate to some degree. McNeel describes the command as an option to consider for fabric-like materials that can stretch to some extent. For a developable surface, the documentation recommends using UnrollSrf instead of Smash.

Squish converts a doubly curved 3D mesh or NURBS surface into a flat pattern. In the output, clusters of points in different colors distinguish regions where compression or expansion is expected as the surface is flattened. Text markers can also be placed at points with significant changes in length; the percentage shown in each marker indicates the magnitude of the change. The Squish report also provides estimates of area change, compression and expansion.

SettingSuggested valueEffect
DeformationAn option suited to the material and preferred balance of stretching and compressionFree specifies no preference in either direction. StretchMostly prioritizes expansion, while CompressMostly prioritizes compression. StretchOnly is defined to disallow compression, while CompressOnly disallows expansion.
MaterialRigid or Floppy, depending on the materialRigid aims to reduce stress when shaping a rigid material; Floppy aims to limit geometric distortion as much as possible for a flexible material.
SplitSeamsUse when a seam needs to be opened in a closed meshAllows the mesh to be split along a seam; this can be useful for closed cylindrical surfaces.
PreserveBoundaryEnable if preserving boundary lengths is importantAims to prevent boundary lengths from changing during flattening.

Squish’s CustomA, CustomB and CustomC options have four parameters that determine stretching or compression behavior in boundary and interior regions: BndStretch, BndCompress, InteriorStretch and InteriorCompress. The documentation gives these parameters an initial value of 1; each can be set to a positive number. Increasing one parameter relative to the others reduces the effect of the deformation it specifies. For example, McNeel provides a settings example with InteriorCompress=100 to severely limit expansion in interior regions. This is not a universal recipe; the results of the selected values should be reviewed separately.

3. Follow a practical review process

  1. Inspect the geometry. Use Gaussian curvature analysis to identify doubly curved regions. If the surface curves in one direction, start with UnrollSrf; if it has double curvature, consider Smash for approximate flattening or Squish for deformation information.

  2. Account for material behavior. Determine whether the material used in production can stretch and whether compression is acceptable. Choose Squish’s Deformation and Material options accordingly; do not assume the command accounts for all of the material’s physical properties.

  3. Check the report and area difference. When using Squish, review the color-coded regions, the area-change report and the text markers showing the most significant length changes together. For UnrollSrf, also check the warning about the area difference between the flattened and original surfaces.

  4. Transfer markers back to the 3D model. Curves or points created on a 2D pattern with Squish can be transferred to the original 3D shape with SquishBack. This lets you inspect where markers defined on the flat pattern sit on the model.

What does this offer for architecture, interior design and archviz workflows?

These commands can help evaluate how geometry can be transferred to a plane in design processes that require cladding or cutting patterns from curved surfaces. For surfaces curved in one direction, UnrollSrf helps create a direct flattening. Results from Smash or Squish for doubly curved surfaces should be treated not as definitive production-ready patterns, but as preliminary studies that show where geometric changes are concentrated.

This distinction matters especially in architectural and interior design projects involving curved cladding or textiles. McNeel warns that the Squish algorithm does not adequately model the real physical properties of most sheet materials, particularly the effects of material thickness. A flattened pattern therefore does not replace an assessment of material properties and production conditions. The documentation covers Rhino 8 commands but does not provide information about hardware, licensing or performance requirements.

Common mistakes

  • Expecting UnrollSrf to produce an accurate, stress-free flattening of a sphere or another doubly curved surface.

  • Treating the output from Smash or Squish as a definitive production pattern without validating the material and manufacturing process.

  • Using a pattern without reviewing Squish’s area and deformation report.

  • Ignoring UnrollSrf’s warning about the area difference between the original surface and the flattened result.

  • Choosing Smash for developable surfaces, even though the documentation says it is not intended for this type of surface.

Sources

3 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
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/smash.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

The practical value of these commands in Rhino 8 lies in choosing the right tool for the geometry rather than trying to flatten every surface the same way. Using UnrollSrf for developable surfaces and understanding the different purposes of Smash and Squish for doubly curved surfaces helps set more realistic expectations during design. Squish’s report also helps identify potential deformations before production.

For offices in Turkey, it makes sense to treat these outputs as design and communication aids rather than definitive production approvals. Projects where material or cutting costs matter require a separate assessment of actual production conditions. Since the documentation does not explain hardware and licensing requirements, these should be verified separately during project planning.

Frequently asked questions

How do you flatten a doubly curved surface in Rhino 8?

Smash can be used for approximate flattening, while Squish produces a flattened pattern with deformation information. Evaluate the result in light of the surface and material conditions.

Which surfaces can be flattened with UnrollSrf?

UnrollSrf flattens developable surfaces that curve in one direction. Surfaces that curve in two directions, such as spheres and tori, cannot be accurately flattened this way.

What do the colored points and text markers in Rhino Squish show?

The colored points distinguish regions where compression or expansion is expected. Text markers show locations with significant length changes and the percentage of change.

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

Related news