Toolbar | Menu |
---|---|
|
Surface > Surface Flattening > Squish Double-Curved Surface |
The Squish command flattens a non-developable (curved in two directions) 3-D mesh or NURBS surface into a flat 2‑D pattern.
The Squish command marks areas of compression with a red point cloud and areas of stretching with a green point cloud and displays statistics about the amount of compression or stretch. Up to ten text dots mark the locations with the most dramatic deformation. The number in the text dot is the percentage of change in length.
Change in area from original.
The material will be compressed when the 2-D pattern is deformed into the 3-D shape. The percentages are an estimate of how much of the pattern will be compressed.
The material will be stretched when the 2-D pattern is deformed into the 3-D shape. The percentages are an estimate of how much of the pattern will be stretched.
Command-line options | |
---|---|
SplitSeams |
Allows a mesh to be split at a seam so it can be flattened. This is good for closed surfaces like cylindrical shapes. |
PreserveBoundary |
Avoids distorting boundary lengths. |
Deformation |
Choose an option depending on your bias for stretching or compressing, and the ability to specify custom deformation settings. FreeNo preference for compression or stretching. StretchMostlyStrong bias for expansion when the pattern is deformed into the 3-D shape. StretchOnlyAbsolutely no compression when the pattern is deformed into the 3-D shape. CompressMostlyStrong bias for compression when the pattern is deformed into the 3-D shape. CompressOnlyAbsolutely no expansion when the pattern is deformed into the 3-D shape. CustomA/CustomB/CustomCCustom deformations. Lets you set the parameters used by the custom deformations. There are four parameters you can set. BndStretchBndCompressInteriorStretchInteriorCompressThe 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 CustomSetupSpecifies settings used by the CustomA/CustomB/CustomC options. |
Material |
Describes the type of material that will be used for manufacture. RigidMinimizes stresses when forming the 3-D surface from the 2-D pattern when a rigid material will be used for manufacture. FloppyLimits geometric distortion as much as possible when a pliable material will be used for manufacture. |
Outside |
UpThe outside of the 3-D surface is up in the 2-D pattern. DownThe outside of the 3-D surface is down in the 2-D pattern. |
Decorate |
Adds the red and green point clouds and text dots to the model. |
Squish is an algorithm that works on meshes. Squish flattens the mesh by "minimizing the changes in facet area and changes in facet edge lengths" between the 3‑D mesh and the 2‑D mesh, subject to some constraints.
For example, if A,B,C are the corners of a 3‑D triangle and a,b,c are the corresponding corners of the 2‑D triangle, the changes in edge length are
d1 = |Distance(A,B) - Distance(a,b)|
d2 = |Distance(B,C) - Distance(b,c)|
d3 = |DIstance(C,A) - Distance(c,a)|
da = |Area(A,B,C) - area(a,b,c)|
DL = d1+d2+d3
DL2 = d12 + d22 + d32
DA = da
DA2 = da2
D = some combination of DL, DL2, DA and DA2
The "minimizing the changes in area and or edge lengths" above means create the 2‑D mesh so that "D" is as small as possible.
In practice, there are thousands of facets and many ways to minimize D, most of which don't make practical sense. So Squish constrains the answer to prevent the 2‑D mesh from folding back onto itself and forcing certain 3‑D points end up in specified 2‑D locations.
A trimmed NURBS surface is squished by squishing a dense mesh of the surface.
The squish options determine how DA, DA2, D1 and D2 are combined and allow for more complicated ways to calculate of DA, DA2, D1, and D2 and to allow for a bias towards stretching or compression.
However, the Squish algorithm is much too simple to even begin to model the true physical properties of most materials that come in sheets, particularly those that where material thickness plays a role and those that can compress or stretch any appreciable amount,
In short, if a sheet of material is expensive, cutting it is expensive, or bending it is expensive, or related issues in the manufacturing process are time critical or money critical, then consider using Squish to give you an initial hint about the shape of a pattern, but real material and manufacturing expertise will have to be used to create a pattern that will work on the shop floor.
Toolbar | Menu |
---|---|
|
|
The SquishBack command returns curves and points on the 2-D pattern to the original squished 3‑D shape.
Suppose we wanted to put a “Rhino” brand name in the black circle on this 3-D NURBS model of a shoe last.
First use the Squish command to generate a 2-D pattern of the last.
Then use the TextObject command to create the white “Rhino” text as curves on the 2-D pattern.
Finally, use the SquishBack command to “unsquish” the white Rhino text onto the 3-D last.
Toolbar | Menu |
---|---|
|
|
The SquishInfo command provides information about the settings used to squish the object.
Flatten a surface without restriction to single-directional curvature.
Flatten (develop) a surface or polysurface with curvature in one direction to a planar surface.
Rhinoceros 6 © 2010-2020 Robert McNeel & Associates. 11-Nov-2020