Unwrap and Flatten Faces Extension for SketchUp

Unwraps shapes and places their faces flat on the ground

Surface unwrapping
Unwrapping and flattening a surface in segments
On This Page

    Description

    Unwrap and Flatten Faces Extension for SketchUp icon

    This extension allows the user to do three things:

    • Unwraps non-coplanar faces (any shape objects, shells etc.) using an automatic (randomized) algorithm and then lays the resulting set of faces flat on the ground. This is done without creating any distortions.
    • Lays any arbitrarily-oriented face or collection of coplanar faces flat on the ground (without distortion). Use e.g. in combination with a manual unfold tool or to make sure faces are perfectly horizontal.
    • Projects a set of faces to one of the three main planes by smashing all faces flat. This creates distortions, of course.

    This extension is useful for e.g. producing fabric or sheet-metal templates, laser-cutting templates, as CNC-prep, for texturing, etc.

    Usage

    Select one or more connected and ungrouped faces in your model and right-click on them to get the “Unwrap and Flatten Faces” context menu. If you select “Unwrap and Flatten”, then all selected faces will be unwrapped (unfolded/unrolled) and laid on the plane chosen in the settings. This happens without distortions becasue individual faces are folded to the same plane. If you select “Smash (project)”, then those faces will be smashed by projection onto the chosen plane (with distortions, of course).

    The original geometry is preserved in this process and all resulting geometry is grouped, which makes manipulation easier. See the screenshots and video below for examples.

    You can also find this tool in the “Tools” menu (which is where you can access its settings).

    Some Tips:

    • For some tips and tricks, read my article Unwrapping and unfolding correctly in SketchUp.
    • Only developable surfaces (e.g. a cylinder) can be cleanly unrolled. This means that if your object has double-curvature (as may be the case for a shell like the one shown in the first image in this post), then this tool can fail because it may be impossible to find a result. Often, however (as in the case of a sphere), this tool will basically “peel” the surface, which may or may not be a useful result.
    • In some cases it is necessary to turn hidden geometry view on (View > Hidden Geometry) before you select any faces.
    • The unwrapping algorithm doesn’t always work automatically. It basically starts at a random face and tries to line up all of the selected faces in a logical pattern (a “string” of faces if you will). If this doesn’t succeed, then it tries a set number of times to get this right. If it still doesn’t work (you get an error or the results don’t look right), re-try with fewer faces in your selection and stitch them manually. Each run is random, so results can vary between tries.
    • The result may have overlapping faces. This happens when the unfolding process folds one face on top of another. In that case, SketchUp will merge those faces. The result may still be usable, but you will likely have to separate the faces by copying and editing. A better approach is to select fewer faces and unwrap the object in segments.
    • To speed up working with this extension, set a keyboard shortcut under SketchUp’s preferences. You can also turn off confirmation dialogs under the settings (see below).
    • You can adjust the settings to your liking (under Tools > Unwrap and Flatten Faces > Settings):
      • Choose the plane onto which the shape will be flattened (ground plane is default).
      • Turn colorizing on to give each unwrapped segment (from selection) a different color (random color assignment).  When this option is disabled (default), the face material is retained.
      • Set the number of iterations for the solution finding process (1000 are default).
      • You can hide the confirmation dialogs (shown by default). Only error dialogs will be shown if hiding is on.
      • You can show all step prompts (hidden by default). Be careful with this setting. It will give you a confirmation dialog after each face has been folded.

    Screenshots and Videos

    My extension video playlist

    Extension Terms and Conditions

    BY INSTALLING, ACCESSING OR USING THIS SOFTWARE, YOU (THE USER) AGREES TO BE BOUND BY THE TERMS AND CONDITIONS AS PROVIDED BELOW.

    LICENSE:

    This is free software, provided under the GPL license (https://www.gnu.org/licenses/gpl-3.0.html).

    (c) Alexander Schreyer, alexschreyer.net

    DISCLAIMER:

    THIS SOFTWARE IS PROVIDED ‘AS IS’ AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR OR ANY COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH THIS SOFTWARE OR THE USE OR OTHER DEALINGS IN THIS SOFTWARE.

    WHERE APPLICABLE, THIRD-PARTY MATERIALS AND THIRD-PARTY PLATFORMS ARE PROVIDED ‘AS IS’ AND THE USER OF THIS SOFTWARE ASSUMES ALL RISK AND LIABILITY REGARDING ANY USE OF (OR RESULTS OBTAINED THROUGH) THIRD-PARTY MATERIALS OR THIRD-PARTY PLATFORMS.

    Downloads

    You can now find this SketchUp extension in Trimble’s Extension Warehouse. For an easy install (and update notifications), browse to it from inside SketchUp (2013 or newer) and install it directly.

    Alternative Downloads

    Linked below are the installation files (in SketchUp’s RBZ format) for the current and some previous versions of this extension. You can also find this extension on GitHub.

    TIP: Installing Extensions in SketchUp
    To install these files, follow the SketchUp folks’ instructions.

    Revision History

    • Version 2.6 (7/13/2020):
      – Fixed unwieldy group bounding boxes
    • Version 2.5 (2/29/2020)
      – Improved code for help window
      – Fixed SU 2020 window problem (class var)
    • Version 2.4 (8/5/2017):
      – Added colorizing of unwrapped/smashed segments for reference
      – Toned down colors a bit (no white/black)
      – All confirmation dialogs can now be turned off (in settings)
      – Fixed face orientation for smashing
      – Fixed vertices bug for smashing
      – Fixed axis location of flattened shape
    • Version 2.3 (12/12/2016):
      – Fixed coplanar face bug
    • Version 2.2 (12/9/2016):
      – Fixed loader code
      – Code cleanup
      – Fixed problem with SU 2017
      – New settings dialog: show/hide dialogs, set iterations, target plane
      – Better unwrapping algorithm, handles larger items now
      – Original geometry is now always preserved (results in grouped copy)
      – New tool to smash (project) faces to axis plane
      – End statistics and feedback added to unwrapping tool
    • Version 2.1 (2/22/2015):
      – Added Tools menu item to remove confusion
      – Added statusbar feedback (important for larger models)
      – Added Help submenu item
      – Code cleanup
      – Fixed SU 8 bug with array.count
    • Version 2.0 (1/27/2015):
      – Added functionality to automatically unwrap non-coplanar faces first
    • Version 1.0 (2/12/2014):
      – First release

    Troubleshooting

    You can reset this extension by pasting the following code into SketchUp’s Ruby Console (which can be found under the Extensions menu) and executing it (hit Enter):

    Sketchup.write_default( "as_flatten", "axis", nil )
    Sketchup.write_default( "as_flatten", "colorize", nil )
    Sketchup.write_default( "as_flatten", "iterations", nil )
    Sketchup.write_default( "as_flatten", "confirmation", nil )
    Sketchup.write_default( "as_flatten", "prompts", nil )

    Show Off Your Work

    Did you create something amazing with this extension? I would love to see it! You can either upload an image in the comment section below (public) or privately send it to me.

    Comments and Reactions