Advanced Flattening

Summary: Since the Expander plug-in from Ship Constructor will not be available for Rhino 4.0, we have started developing a replacement. This is the first prototype.

Background

Rhino has:

Rhino does not have:

Squish overview

The Squish command flattens a non-developable (curved in two directions) 3-D mesh or NURBS surface into a flat 2D pattern.

squish1.jpg squish2.jpg squish3.jpg

The Squish command marks areas of compression (red point cloud) and stretching (green point cloud) and displays statistics about the amount of compression or stretch.

Area: unchanged
Compression: average=0.04%, maximum=0.11% (in 44% of the surface)
Stretching:  average=0.07%, maximum=0.28% (in 35% of the surface)

Here compression means the material will be compressed when the 2D pattern is deformed into the 3D shape. Stretching means the material will be stretched when the 2D pattern is deformed into the 3D shape. The percentages in the parenthesis give you an estimate of how much of the pattern will be compressed or stretched.

Up to ten text dots mark the locations with the most dramatic deformation. The number in the text dot is the percent stretching change in length. In the image above, the green text dots displaying “0.3” mean the regions near those dots will be stretched by 0.3% (3/1000) when mapped to 3D.

SquishBack overview

The SquishBack command lets you place points and curves on a 2D pattern that was made with the Squish command, and then “unsquish” them back to the 3D shape.

For example, suppose we wanted to put a “Rhino” brand name in the black circle on this 3D NURBS model of a shoe last.

squishback_3dshapebefore.jpg

First use the Squish command to generate a 2D pattern of the last.

squishback_2dshapebefore.jpg

Then use the TextObject command to create the white “Rhino” text as curves on the 2D pattern.

squishback_2dshapeafter.jpg

Finally, use the SquishBack command to “unsquish” the white Rhino text onto the 3D last.

squishback_3dshapeafter.jpg

Installation

For Rhino 4.0:

  1. Download and install the latest Microsoft runtime libraries (required to run Squish). (You only need to do this once.)
  2. Download the latest Squish plug-in. - Updated 11-January-2008
  3. Download the plug-in file Squish.rhp to a folder on your computer.
  4. Download the toolbar file Expand.tb to a folder on your computer. Activate the toolbar under menu Tools/ Toolbar layout.
  5. From Windows file Explorer, drag and drop Squish.rhp files into an open Rhino 4.0 viewport, or use the install button on the Tools - Options - Plug-ins page.

For Rhino 5 and 6:

1. Download and install the latest version -

Rhino 6

Rhino 5

Squish command options

Using CustomSetup to define custom deformations

The CustomSetup option lets you set the parameters used by the custom deformations. There are four parameters you can set.

The default value for these parameters is 1 and they can be set to any positive number. A larger value reduces the amount of the specified deformation compared to what happens when all four parameters are equal. For example, if you want to severely limit interior expansion, you could do something like:

 BndStretch=1
 BndCompress=1
 InteriorStretch=1
 InteriorCompress=100

If you want to preserve boundary lengths you could use the settings:

 BndStretch=10
 BndCompress=10
 InteriorStretch=1
 InteriorCompress=1

Limitations

To do

button.jpg

Feedback

Please post feedback to Dale Lear on the Rhino User Forum, be sure to use the word “Squish” in the subject line of your post.

We need to know whether or not the flattened patterns generated by the Squish command are useful in your specific manufacturing application. If you have a 3D model and 2D patterns that were used to successfully manufacture the object, we would like to compare the pattern created by the Squish command with the pattern that was used in manufacturing. Even if you cannot share the model, please let us know what is important in your specific manufacturing application.