SketchUp Desktop 2021.0

SketchUp Pro 2021.0
21.0.339 Win 64-bit
21.0.338 Mac 64-bit

What's New in SketchUp and LayOut 2021.0?

We're rounding out SketchUp's twentieth trip around the sun with several new features, improvements, and important changes. As always, we look forward to your feedback, and another decade of improving SketchUp.

Here's what's new…

New logo icons for SketchUp and its application suite

The red SketchUp logo served us well since 2012. (Do you remember the logo before then?) We're moving forward with new marks for SketchUp and its application suite. This means new application icons for SketchUp, LayOut, 3D Warehouse, Extension Warehouse, and Style Builder, as well as a few modified toolbar icons. These new marks align SketchUp to the broader portfolio of Trimble products and… they can be modeled in SketchUp!

We expect that it will take time for people to adjust to the new logos for our products. But we're certainly optimistic you'll start to see SketchUp in these new marks, and that they will feel 'at home' over time.

Tag Folders

We are still keen to make it easier for people who maintain models using large and complex lists of tags and scenes. In this release, you can organize multiple tags into Tag Folders and control the visibility of folders per scene. Additionally, folders can expand and collapse, making it easier to scan your tag structure and find the tags you need.

To create tag folders:

  1. Select multiple tags in an existing model and click the Add Tag Folder button to group them in a tag folder.
  2. Or, click the Add Tag Folder button and assign a name to a new tag folder. Then select multiple tags, and drag/drop them into a folder. We hope you'll try out tag folders with some existing models and also by creating tag hierarchies from scratch.

Tag Folders are also available in LayOut, where the tag tree hierarchy and visibility control is available in LayOut's Tags panel. Of course, scenes remember the visibility of your tags and tag folders across SketchUp and LayOut. And to accommodate models with deeper hierarchies or long tag lists, you can now control the width and height of LayOut's Tags panel.

Tag filtering

A long time coming, we're happy to introduce filtering in SketchUp's Tags panel. We hope this makes it a lot easier to zero in on specific tags. You can also use filtering when creating tag folders: filter down to a prefix or naming convention, choose Select All in the Tag Details menu, and hit the Add Tag Folder button.

You can also use keyboard selection modifiers to select multiple folders (or tags) and set their visibility all at once. To make a custom selection, use the CTRL (Command on Mac) and Shift keys to select desired tags and folders. With a tag selection in place, click the visibility icon for any tag or folder in your selection: the entire selection will respect your visibility change.

Live Component Configuration

Live Components are a new breed of parametrically configurable objects, and in this release you can control them in SketchUp.

To bring a live component into SketchUp, open 3D Warehouse in SketchUp and navigate to our SketchUp Labs Live Component collection (or use the new Live Component search filter under advanced search options). Choose a live component to tinker with and download it into your SketchUp model!

Inside SketchUp, when you double-click to edit a Live Component, you'll pull up the 'Configure Live Component' dialog. Here, you can control the component's 'parameters'. If you want different configurations of the same object, use the "Make Unique" context menu command to create a new definition that can be configured separately. If you want to convert a Live Component into a regular component, use the "Detach Definition" option. Once you do this, the definition can be edited or exploded just like any other component. Notably, you can also insert and configure Live Component workflows in SketchUp for Web.

With SketchUp 2021, we are introducing Live Components with an open beta designation we are calling SketchUp Labs. The Labs treatment is meant for features that need more user feedback and development, but are stable and useful today. Basically, we are explicitly releasing earlier than we might otherwise in order to incorporate your feedback as part of our development process.

Start PreDesign from SketchUp

Alongside SketchUp 2021, we are also launching a new architectural research tool called PreDesign. Available to Pro subscribers, you can launch PreDesign (in a web browser) from SketchUp's File menu.

In PreDesign, you can geolocate a project to understand its predominant and seasonal climate, how that climate might affect the comfort and lighting of built spaces, and what design strategies may be useful for your project. Think of PreDesign as a new way to start architectural design projects in SketchUp.

Under the hood: a re-built .SKP

SketchUp 2021 brings to light a significant under-the-hood improvement: a re-build of the .SKP file format. You are likely to notice a significant reduction in file sizes when saving models to the new format, and we're excited about additional workflow improvements this new file format will unlock going forward.

Direct download updates

As we are releasing more frequent updates to SketchUp, we want to make it easier for people to access the improvements we make between 'major' versions. In this release, we are introducing a direct download update. This means that the next time there is a new version available, you can use this update service to automatically download the proper language version. When an update is available, you'll receive a notification in SketchUp. You can initialize the direct download update at that moment, or defer to a later date. After downloading an update, you will be prompted to save and close existing files so that SketchUp can shut down. From there, you can install the update to the desired location on your computer.

Two-finger Pan and Pinch-to-Zoom in LayOut on Mac

'Enable two-finger Pan' is a new navigation option in LayOut on MacOS (available in General preferences). Designed to optimize trackpad use if you don't have a mouse, this preference allows you to pan the view using a two-finger swipe on a touchpad. If you want to stick with two-finger zooming, you can hold the Command modifier key in either state of the preference to switch between Pan and Zoom. Alongside this new preference, we've also enabled a pinch-to-zoom gesture. This zoom is available whether you choose to pan or zoom with a two-finger swipe. After a round of feedback, we are looking forward to bringing this capability to LayOut on Windows as well.

SketchUp Release Notes

Bug fixes / small features added

  • Fixed a crash when importing certain .dem files.
  • Fixed crashes related to malformed SKP files.
  • Fixed an issue with Move tool performance when a large number component geometry was selected and performance was adversely affected.
  • Fixed an issue where the Follow Me tool would not clean up geometry as expected.
  • Fixed an issue where status bar would not display key modifier text for the Select tool.
  • Fixed an issue with Tape Measure tool where key-pressing a shortcut caused the guide state to unexpectedly change.
  • Improved Tape Measure tool messaging to more accurately reflect user experience.
  • (Win) Fixed an issue where Tape Measure tool would toggle off measure mode when Ctrl + Z pressed.
Model error checking
  • Improved SketchUp's 'Fix Problems' capability. By default, SketchUp will no longer notify users when problems are found or fixed. SketchUp now always fixes problems, and can now fix more problems than it could before. There is a new check box option in Preferences > General named "Notify me when problems are fixed" which, when checked, will pop up a dialog showing which problems were fixed.
  • Added a new validity check when invalid component relationships are found.
  • Added a new validity check when an invalid font is used for a dimension.
  • Added a fix to set the north direction to the green axis when model error checking finds the north direction is invalid.
  • Fixed an issue where some glued mirrored components were incorrectly displaced after fixing model problems.
  • Enabled a new validity check when some invalid component relationships are found/fixed.
  • (Mac) Fixed an issue where the option to Undo Check Validity was not available after the validity check that occurs when opening a model.
  • Improved Welcome Window performance when loading recent file thumbnails.
  • Generate Report - A new version of generate report was built for 2021. It is available now. The goal is feature parity with the previous version. We expect to release improvements and new features over the coming year.
  • Removed the Version field from File information in the Model Info window.
  • Fixed an issue where the same watermark name cannot be shared by different styles.
  • Fixed an issue where identical watermarks (e.g., a watermark made by making a copy of an existing style) shared watermark properties so that editing the properties of one of the watermarks incorrectly changed the other.
  • Fixed an issue where redo actions in the Edit menu could be lost when performing certain actions (e.g., escaping out of a tool).
  • Trimble Connect Extension is no longer saving to SketchUp 2016 file format. Instead the extension now saves to the format of the SketchUp version running the extension.
  • Made some minor changes to the Licensing tab, which now reference Manage Licensing and contain some UI improvements.
  • L10n: Fixed multiple language translation problems.
  • Fixed a problem where the translation of the Dimension tool's prefix for "Radius" was incorrect for Russian and Korean.
  • (Win) Scene Tabs visibility setting is now saved as a user preference.
  • (Win) Fixed an issue where a portion of the Delete Tag options dialog was not translated.
  • (Win) Fixed a problem where the SketchUp installation's "User Account Control" screen incorrectly displayed "SketchUp Suite Launcher Unicode" as the product being installed.
  • (Win) Fixed a problem where the SketchUp uninstaller would not sign the user out of their subscription account.
  • (Win) The SketchUp installer's "Repair" option has been improved to better handle some problems such as incorrect file associations and missing thumbnail icons.
  • (Mac) Fixed an issue where toolbar icons were sized incorrectly on macOS Big Sur.
  • (Mac) Fixed a problem with the Ruby Extensions framework that prevented linking against the application. If 2019 or before was previously installed, old symlinks were inherited. But if 2020 or later was the first version installed then builds could be broken.

LayOut Release Notes

Bug fixes / small features added

  • Fixed a crash when opening a LayOut file when the attached SketchUp file was missing.
  • Fixed a crash that could occur with certain Embedded SketchUp files. This was often seen when copying from a Scrapbook.
  • Fixed an issue where exporting to pdf would fail with some files containing Clipping Masks.
  • Fixed an issue where the original selection was not inferencable during copy-moves.
  • Fixed an issue where the move cursor was not available when locked entities were above the selection.
  • Added the ability to resize the Tags panel in the SketchUp mode inspector.
  • (Win) Fixed an issue where the margins would shift when printing.
  • (Mac) Fixed an issue when entering a numeric value to a tag override in the Tags dialog. The value would be ignored entering a numeric value then selecting OK.
  • (Mac) Fixed an issue on the Preferences dialog where text would overlap the delete scale button.

SketchUp API Release Notes

Upgrade Ruby to 2.7.1

For SketchUp 2021.0 we have upgraded the version of Ruby that we ship with SketchUp from 2.5.5 to 2.7.1. Developers should verify that their extensions are working as expected in this new version of Ruby. During this process we have also made a change that we are now compiling ruby ourselves during the SketchUp build process. It is still vanilla Ruby 2.7.1 that we are compiling.

New File Format API Accommodations

SketchUp has done significant work to update the .skp file format (see the Under the hood: a re-built SKP section above). This has caused us to reconsider how we open files in the APIs. Previously if a .skp file was a newer version than the API being used, the file would simply not open. With the new file format, files are supposed to be more forward and backward compatible. So opening a file that is newer needs to be acceptable. Therefore we have changed the file and definition loading methods in the Ruby API and the C API.

In Ruby we added an additional parameter to the Sketchup#open_file method that will allow the API to open newer file formats than the current version of SketchUp being used. Sketchup#open_file added a 'with_status' named argument e.g., Sketchup#open_file(filename, with_status: true). Sketchup::DefinitionList#load has also added the parameter 'allow_newer' to Sketchup::Definition#load(path, allow_newer: true).

In the C API we added three new functions that should now be used to open files. These can be made to open newer versions of a skp file than the API, or you can choose to not open newer files. The existing functions have been deprecated but left in place so as to not break existing functionality.

Tag Folder API

Tag folders are a new feature of SketchUp in 2021.0. We have added numerous methods around getting, creating, removing, organizing, etc Tag Folders.

C API Additions and Improvements

  • Added SUSkpReadGuid()
  • Added SUModelCreateFromFileWithStatus(), Deprecated SUModelCreateFromFile()
  • Added SUModelCreateFromBufferWithStatus(), Deprecated SUModelCreateFromBuffer()
  • Added SUModelLoadDefinitionWithStatus(), Deprecated SUModelLoadDefinition()
  • Added SULayerFolderRef()
  • Added SULayerFolderToEntity()
  • Added SULayerFolderFromEntity()
  • Added SULayerFolderCreate()
  • Added SULayerFolderRelease()
  • Added SULayerFolderGetName()
  • Added SULayerFolderSetName()
  • Added SULayerFolderGetVisibility()
  • Added SULayerFolderSetVisibility()
  • Added SULayerGroupGetVisibleOnNewPages()
  • Added SULayerGroupSetVisibleOnNewPages()
  • Added SULayerFolderAddLayer()
  • Added SULayerFolderRemoveLayer()
  • Added SULayerFolderGetNumLayers()
  • Added SULayerFolderGetLayers()
  • Added SULayerFolderAddLayerFolder()
  • Added SULayerFolderGetNumLayerFolders()
  • Added SULayerFolderGetLayerFolders()
  • Added SULayerFolderGetParentLayerFolder()
  • Added SULayerGetParentLayerFolder()
  • Added SUModelGetNumLayerFolders()
  • Added SUModelGetLayerFolders()
  • Added SUModelPurgeEmptyLayerFolders()
  • Added SUModelAddLayerFolder()
  • Added SUModelGetNumTopLevelLayers()
  • Added SUModelGetTopLevelLayers()
  • Added SUModelRemoveLayerFolders()
  • Added SUSceneGetNumLayerFolders()
  • Added SUSceneGetLayerFolders()
  • Added SUSceneAddLayerFolder()
  • Added SUSceneRemoveLayerFolder()
Bug fixes / small features added
  • Fixed crashes related to malformed SKP files
Ruby API Additions and Improvements
  • Added method signature Sketchup::Page#set_visibility(layer_group, visibility)
  • Added method {Sketchup::Page#layer_folders}
  • Added class {Sketchup::LayerFolder}
  • Added method {Sketchup::Layer#folder}
  • Added method {Sketchup::Layer#folder=}
  • Added method {Sketchup::Layers#add_folder}
  • Added method {Sketchup::Layers#count_folders}
  • Added method {Sketchup::Layers#count_layers}
  • Added method {Sketchup::Layers#each_folder}
  • Added method {Sketchup::Layers#each_layer}
  • Added method {Sketchup::Layers#folders}
  • Added method {Sketchup::Layers#layers}
  • Added method {Sketchup::Layers#purge_unused_folders}
  • Added method {Sketchup::Layers#remove_folder}
  • Added method {Sketchup::LayersObserver#onLayerFolderAdded}
  • Added method {Sketchup::LayersObserver#onLayerFolderChanged}
  • Added method {Sketchup::LayersObserver#onLayerFolderRemoved}
  • Added method {Sketchup::LayersObserver#onParentFolderChanged}
  • Added method {Sketchup.redo}
  • Added new method signature to {Sketchup.open_file}: Sketchup.open_file(filename, with_status: true) This signature will open the new SketchUp file format if the format is newer.
  • Deprecated old method signature: Sketchup.open_file(filename) Because opening a newer file format might lead to data missing, extension developers have to explicitly migrate to the new signature. This is to ensure that no extension inadvertently open and save a file without knowing of potential data loss.
  • Added new method signature to {Sketchup::DefinitionList#load}: Sketchup::DefinitionList#load(filename, allow_newer: true)
  • Added method Sketchup::Skp.read_guid for reading a model's guid without having to open it in SketchUp.

Ruby API Bug Fixes

  • Multiple documentation corrections.
  • Fixed Sketchup::Texture#filename such that it appends a file extension matching the data format it was loaded from when the internal texture filename is missing the extension.