SketchUp Pro 2018

Version:
18.0.16975 (Win 64-bit)
18.0.16976 (Mac 64-bit)

SketchUp Release Notes

What’s New?
Advanced Attributes

Advanced Attributes allow you to embed useful information into your model when creating and managing components. You can now define the Price, Size and URL attributes when creating or editing components, as well as defining Owner and Status attributes for each component instance via the Entity Info dialog.

Aggregation in Generate Report

We want to make the information in SketchUp models as useful as possible. In this release, we’re improving Generate Report to allow users to aggregate component data so you can extract and organize information contained in your models. That means you can configure Generate Report to sum parts and quantities for schedules and cutlists, or create detailed pricing estimates by listing prices by layer.

IFC Export Improvements

BIM doesn’t really work if information can’t move freely between applications. We’ve dialed in our IFC exporter to ensure that the attributes you bring in from other applications or manipulate in SketchUp stay with your work when it leaves SketchUp.

Named Section Planes

It seems simple, but naming something is the first step towards making it easier to find, organize, and edit that something. Now, even when your section planes are hidden, they’re right at your fingertips. Here’s how it works…

Create a new section plane and choose a name for it and a short symbol that will display in your modeling window. Your section plane is now a unique SketchUp entity that can be found in Outliner and manipulated in Entity Info. Use Outliner to quickly find, select and edit specific planes. Use Entity Info to edit naming conventions and organize section cuts into layers, then control the visibility of your section planes, cuts and fills via Styles.

Filled, Styled Section Cuts

We have added Filled Section Cuts to SketchUp 2018. To access, open Styles > Edit > Modeling and toggle ‘Section Fills’ on or off, and set your desired fill color. When section fills are toggled on, SketchUp will render a fill on top of cleanly modeled sections. We’ll even help you troubleshoot geometry problems that are preventing SketchUp from recognizing the section you want to fill. Access troubleshoot mode through the section plane context menu when Section Fills are on.

Section Plane Performance

While we were at it, we improved performance for models that use section planes to hide large amounts of geometry. Basically, the more geometry you section off, the more you’ll benefit!

Other Notable Improvements and Changes Outliner

While adding support for Section Planes, we also improved Outliner’s performance. Outliner no longer refreshes on many transactions that don’t need it. Additionally, we improved the sort order in Outliner. Changes include:

  • Sorting based on Component Instance and then Definition instead of sorting based on one long string. This also applies to Section Planes - it will sort first based on the Section Name and then the Symbol.
  • Sorting numbers in a more intuitive way.
  • Sorting is now case insensitive, which means a mixture of capitalized and lowercase words sorts in a more intuitive way.

Drawing Improvements

We made some small, smart changes that help you draw exactly what you want. Including:

  • Draw a rectangle about its center using modifier keys (Ctrl on Win and Option on Mac).
  • Employ quicker control for rotated rectangles. We switched the order of entry in the VCB so you can quickly enter a dimension with no angle.
  • Improved workflow with Tape Measure Tool. Edge length and face area are now instantly displayed in VCB as soon as user gets “On Edge” on “On Face” inferences.
  • Added color coding to Freehand tool. While drawing, it is colored the same as the axis it is perpendicular to.
  • Reduced display of arc/circle inferences after second click of any drawing tool.

STL Import/Export

The SketchUp STL extension is by far the most popular download from Extension Warehouse. Going forward it might not be, because now SketchUp natively supports the import and export of STL files (on both desktop and web).

Anti-aliasing on the Mac

For Mac users, we’ve added anti-aliasing settings. Go to SketchUp > Preferences > OpenGL to control the anti-aliasing sample count, which controls the smoothness of your geometry.

Preferences Location

The majority of preferences are now stored in two json files. There are still some OS controlled preferences that remain in the registry (Win) or plist (Mac). The json files are saved in the following locations:

On Win:
PrivatePreferences.json is saved to C:\Users\[user name]\AppData\Local\SketchUp\SketchUp 2018\SketchUp SharedPreferences.json is saved to C:\Users\[user name]\AppData\Roaming\SketchUp\SketchUp 2018\SketchUp

On Mac:
Both PrivatePreferences.json and SharedPreferences.json are saved to /Users/[user name]/Library/Application Support/SketchUp 2018/SketchUp

DWG Importer

The DWG Importer has been rewritten using our own C API. The goal is that the new dwg importer will work exactly the same as the 2017 version (improvements can come at a later time, now that we have code we can update and maintain more easily!). Ideally all files that imported previously will continue to import in 2018 and hopefully some files that used to fail on import will now import correctly.

Support for macOS High Sierra

Our QA team has smashed and banged on Apple’s newest operating system, macOS High Sierra, enough to say that SketchUp 2018 is fully compatible.

Bug Fixes/Small Improvements

In addition to the above, we’ve been heads down fixing bugs and adding some smaller features:

Stability
  • Fixed a very frequent crash that could occur when drawing lines.
  • Fixed a crash that occurred on startup if launching SketchUp on a machine with an old version of OpenGL.
  • Fixed a crash that could occur when healing two faces.
  • Fixed a crash that could occur when using Solid Tools on certain types of geometry.
  • Fixed a crash when offsetting a face on an imported DAE file.
  • Fixed a crash that could occur when selecting Intersect Faces with two section planes selected.
  • Fixed an issue where SketchUp would crash on quit if the 3D Warehouse window was open.
  • Fixed a crash that could occur when using Outliner after importing a corrupt IFC file.
  • (Win) Fixed a very frequent crash that would occur on startup with older Intel drivers.
  • (Win) Fixed a crash that occurred when setting profiles > 2 on some ATI graphics cards.
  • (Win) Fixed a crash that could occur on startup if the default tray was docked with the Components dialog open and a floating tray had the second tab active.
  • (Win) Fixed a hang that could occur when cancelling the download of a component via the Components browser.
  • (Win) Fixed a crash that occurred if you entered Ctrl-N while in print preview.
  • (Win) Fixed a crash that occurred when you entered random values into the Print Preview units.
  • (Win) Fixed a hang that could occur when cancelling the download of a component via the Component Browser.
  • (Mac) Fixed a crash that occurred when closing the message dialog that pops up after searching for a component in the Components dialog with invalid characters or while offline.
  • (Mac) Fixed a crash that occurred if clicking Reset Workspace in the Preferences dialog with Instructor open.
  • (Mac) Fixed a crash that could occur on exit when closing SketchUp with the Styles and Instructor dialogs open and multiple models with unsaved changes.
  • (Mac - High Sierra) Fixed a crash that could occur after resizing the Colors dialog on High Sierra. After the initial crash, users would continue to crash on launch.
Model Display
  • Changed nicer transparency to allow the display of anti-aliased edges.
  • Changed faster transparency to display a model in a predictable way (previously, a model could display differently each time it was opened).
  • Improved model visibility by changing SketchUp to no longer fade entities behind a section plane when editing a component.
  • Fixed an issue where hidden profile edges, with View > Hidden geometry turned on, displayed differently depending on how they were hidden.
  • Fixed an issue where softened sketchy edges were not visible during a copy.
  • Fixed an issue where, when using nicer transparency sort, edges behind multiple layers of transparent faces displayed when they should have been hidden.
  • Fixed an issue where a single selected section plane was not visible during a copy/paste action.
  • Fixed an issue where Color By Axis would not update colors if you changed the RGB colors in the Accessibility preferences.
  • Fixed an issue where non-profile lines hidden at the entity level incorrectly displayed with the dashed hidden pattern when edges were turned off and profiles were turned on.
  • Fixed an issue where setting profile thickness to 1 forced edges to be displayed.
  • Fixed an issue in which negative axes could render incorrectly on some Intel machines when orbiting with back edges on.
  • Fixed an issue in which negative axes could render incorrectly on some Intel machines when using certain tools.
Section Planes
  • Made a change to be able to select a section plane by clicking on the section plane arrow (symbol).
  • Fixed an issue in which section cut lines were temporarily visible after turning off hidden geometry.
  • Fixed an issue in which section cut lines didn’t dynamically update with multiple active cuts when either moving a plane or switching between scenes.
  • Made change to selection highlighting so now when a section plane is selected the section cut lines are also highlighted as part of the selection. If section fills are on, the fill is also highlighted.
  • Fixed an issue in which leader text was incorrectly positioned at origin when placed at intersection with a section plane.
  • Fixed an issue in which zoom extents zoomed to the full model with an active section cut instead of just the visible geometry.
  • Fixed an issue in which the export of a model in wireframe with section cuts did not match what was displayed within SketchUp.
  • (Mac) Fixed an issue in which the section plane toolbar buttons showed opposite toggle state. Dark gray background now appears when button is on similar to Shadows toolbar button.
  • (Mac) Fixed an issue in which the section plane toolbar buttons didn’t toggle state when changing the state in the Styles dialog or the View menu.
Outliner
  • (Mac) Fixed an issue in which the component definition disappeared if attempting to rename a component in Outliner but not making any changes.
  • (Mac) Fixed an issue in which the image for a component/group in Outliner could switch to an incorrect image when either double clicking on the entity or right clicking and selecting to Rename.
  • (Mac) Fixed an issue in which an entity in Outliner could remain highlighted blue after having double clicked to edit it and then clicking in Outliner to deselect it.
  • (Mac) Fixed an issue in which you couldn’t directly single click in Outliner without Outliner first being active.
  • (Mac) Fixed an issue in which the entity in Outliner wasn’t highlighted in blue after double clicking on an entity to edit it without Outliner first being active.
Tools
  • Updated cursors for the Circle and Polygon tools.
  • Improved ease of editing of component with transparent faces.
  • Fixed an issue in which an offset polygon became a curve. It is now maintained as a polygon.
  • Fixed an issue in which a line could incorrectly reset from an endpoint while using continuous line drawing and crossing over other geometry.
  • Fixed an issue in which an offset could show some z-fighting.
  • Fixed an issue in which the Protractor and Rotate tools could remain constrained to a plane after releasing shift with tool locked using arrow keys.
  • Fixed an issue where automatic edge and area measurements were incorrect for scaled component instances.
  • Fixed an issue in which you couldn’t just enter an angle in the VCB (Measurements Toolbar) if baseline was reset after second click.
  • Fixed an issue where dimensions attached to the center point of a circle/polygons within a group could become detached when moving them.
  • Fixed an issue where an incorrect inference to the origin could be seen when adding a dimension the first time in a model.
  • Improved scaling of tool cursors on high-DPI monitors.
Component/Group Origin
  • Updated tooltip to include more detail when hovering over a component origin that is on geometry.
  • Fixed an issue in which leader text attached to a component/group origin could temporarily point to model origin when double clicking to edit the component.
  • Fixed an issue in which the default text was displaying as “Enter text” instead of either the component definition or position within a group when adding leader text to a component/group origin.
  • Fixed an issue in which leader text pointing to a component/group origin could unexpectedly remain in place when moving geometry within the component/group.
Miscellaneous
  • Added a preference to workaround an issue in which selection could be very slow on some Win 10 systems. To set this preference open Command Prompt and enter:
    "C:\Program Files\SketchUp\SketchUp 2018\jsonpatcheditor" Preferences WorkaroundDrawXorRectUseGLFlushNotFlushDraw b true
    Note: If you installed SketchUp in a non-default location you will have to update the location above.
  • Fixed an issue in which letterbox bars render incorrectly during large image exports.
  • Improved terrain resolution for Add Location. Previously the grid for terrain was smaller than expected. It should now work the way it did which allowed up to 2500 points in the terrain mesh.
  • Implemented a cross-platform library for logging into 3D Warehouse and Extension Warehouse.
  • Added persistent IDs to scenes allowing LayOut or extension developers to reference scenes.
  • Added component definition name to the tooltip when hovering over component inferences.
  • Improved performance of models that contain hidden guides.
  • Improved performance when using color by axis.
  • Implemented a minimal face shader that improved performance on Intel GPUs with older drivers.
  • Fixed an issue where textures couldn’t be combined on vertical faces.
  • Added a new warning if a user tries to set a shortcut that uses a tool modifier key (e.g. arrow keys).
  • Fixed an issue where selecting vector printing would change zoom.
  • Upgraded the version of Chromium that SketchUp uses.
  • Fixed an issue where exporting as IFC removed Custom Property Sets.
  • Updated terminology from “Knowledge Center” to “Help Center” throughout application.
  • Fixed an issue where changing the number of segments of a polygon or arc could create a bad face.
  • Fixed an issue where a face was not created when drawing a rectangle that intersects two lines.
  • Fixed an issue where style thumbnails were incorrect when using hidden line mode with regular edges and no profiles.
  • Improved text cursor tracking when scaling is > 100%.
  • Fixed an issue where the X-ray opacity did not select the correct value until clicked on.
  • Fixed an issue where the wrong layer would be deleted when user was in edit mode.
  • Fixed an issue where models would sometimes contain two NULL (model marker) watermarks.
  • Fixed an issue in which you could get duplicate persistent IDs after push pulling a face that included an arc or placing 3D Text. Also, expanded validity check to catch these additional cases in which duplicate persistent IDs were created.
  • Fixed an issue where a duplicate section plane PIDs could be created that could not be fixed.
  • Fixed an issue where creating a component would not retain nested attributes.
  • Fixed an issue where a warning could pop up that a component name already exists after performing a Solid Tools operation and making the group a component.
  • Improved the Solid Tools ability to work properly on disconnected manifold bodies.
  • Fixed an issue where faces would not close on faces with dangling interior edges.
  • Fixed an issue in which inconsistent results could be seen when exporting an image with and without anti-aliasing.
  • Fixed an issue where thick profiles did not export correctly to an image format with some graphics cards (e.g. NVIDIA) which clamped their width.
  • Changed SketchUp to no longer allow the reloading of a locked component instance via the in model Components Browser context menu.
  • Added the capability to copy SketchUp version numbers directly from the About SketchUp dialog. On Win, open the Help > About dialog, click on it to give it focus, Ctrl + C and Ctrl + V. On Mac, open the Help > About dialog, select version number, Command + C and Command + V.
  • Fixed an issue where a more general error message was displayed on launch if hardware acceleration was unsupported.
  • Improved Midpoint inferencing for cases in which multiple Midpoints are in very close proximity.
  • Fixed a number of translation and truncation errors in localized builds.
  • Fixed a non fixable validity error that could occur when importing a geo-located component into a non geo-located model.
  • Fixed an issue where scenes excluded from animations were not indicated correctly.
  • Fixed an issue where the axes plane for glued components was incorrect.
  • (Win) Changed our default multisample anti-aliasing setting for Intel graphics cards from 0x to 4x.
  • Fixed an issue where material thumbnails were displayed incorrectly.
  • Improved tool tip text for Entity Info icons.
  • Improved size and alignment of elements in Entity Info dialog.
  • Fixed several issues where the Styles browser and editor were not displayed correctly on high-DPI monitors.
  • Updated validity check to catch an additional case in which duplicate persistent ID’s could get assigned.
  • (Win) Fixed an issue where the swatch in the Material browser could fail to update after using the "Match color on the screen" functionality.
  • (Win) Updated the error message when selecting multisample anti-aliasing and fast feedback settings that your graphics card didn’t support and only reset these settings. Also, made Preferences dialog remain open after clicking OK to acknowledge the message.
  • (Win) Fixed an issue where after a failed autosave, autosave wouldn’t kick off again until another change was made.
  • (Win) Updated the message you see if you delete a component definition directly in the Components dialog.
  • (Win) Fixed an issue in which preferences weren’t carried forward if you skipped a version of SketchUp.
  • (Win) Fixed an issue where the wireframe rendering button in the Styles browser was incorrectly disabled when x-ray mode was selected.
  • (Win) Fixed an issue where ground transparency settings in the Styles browser failed to immediately update when switching between scenes.
  • (Win) Fixed a formatting bug in the Toolbars dialog and updated the appearance of various dialogs.
  • (Win) Fixed an issue where the print preview image was distorted when resizing the window.
  • (Win) Fixed an issue where SketchUp would allow non-numeric page sizes in print dialog.
  • (Win) Fixed a non fixable validity error that occurred if you selected a color or material from a library and didn’t paint with it.
  • (Win) Improved Entity Info toggle icon states and highlighting on hover.
  • (Win) Fixed an issue where SketchUp would crash when attempting to save to Google Drive File Stream.
  • (Win) Fixed an issue where models saved using the Save As… component context menu did not respect a folder's sharing permissions.
  • (Mac) Fixed an issue where the Select tool didn’t work after selecting to "Set Component Axes" when creating a component.
  • (Mac) Added functionality to remember the last visited location when relaunching the 3D Warehouse.
  • (Mac) Fixed an issue in which resetting all shortcuts cleared all shortcuts including the defaults and all prior shortcuts could return after relaunching SketchUp.
  • (Mac) Fixed an issue in which shortcuts weren’t carried forward if you skipped a version of SketchUp.
  • (Mac) Fixed an issue in which Entity Info didn’t initially snap to Instructor when opening Entity Info on first launch.
  • (Mac) Fixed an issue in which File > Save became enabled after cancelling out of the Save As dialog on a locked file.
  • (Mac) Fixed an issue in which you were not notified that an autosave file exists when launching SketchUp after a crash.
  • (Mac) Improved the display of file paths in the Preferences > Files dialog.
  • (Mac) Updated the Scenes and Styles warning dialog to only enable “Please don’t show this again” when “Do nothing to save changes” is selected. This is consistent with Windows.
  • (Mac) Fixed a typo in the “Glue to” drop down of the Components Browser.
  • (Mac) Removed the “resolution” option for image export dialog because all images are exported as 72-dpi.
  • (Mac) Fixed an issue where changes made to print settings persisted after clicking cancel.
  • (Mac) Added a "save the changes?" message when closing a modified file after "Save A Copy As".
  • (Mac) Fixed an issue where SketchUp thumbnail previews were not always visible when saving models with File > Save and File > Save as.
  • (Mac) Fixed an issue where revert was incorrectly enabled for unsaved/unchanged models.
  • (Mac) Fixed an issue in which snappy dialogs could break apart when a dialog was closed and SketchUp relaunched.
  • (Mac) Fixed an issue in which reloading a component pointed to the incorrect directory.
  • (Mac - High Sierra) Fixed an issue where components, materials, styles, and templates sorted incorrectly on macOS High Sierra.

LayOut and Style Builder Release Notes

What"s New? Better LayOut, Much Better Drawings

LayOut is where people harvest their 3D work in SketchUp to produce excellent drawings. Without apology, our commitment in LayOut is to help professionals make much better drawings, much quicker, and with as much control as they need.

Preferences
  • Your existing user preferences will now migrate when upgrading.
Scaled Vector Drawing

Now you can use LayOut"s vector illustration tools to draw in 2D at scale. Use your SketchUp model as a scale basis to create blocking details. Or create your own scaled illustration to add details not necessary in your 3D model: dashed lines or blocking, for instance. Re-set scales as you wish and your work will resize as necessary. As you would expect, your scaled drawings are fully supported by LayOut"s Dimension and Label tools.

  • Create from scratch via the Scaled Drawing Inspector
    • Enter Make Scaled Drawing, select a scale entities will be displayed at and then begin drawing at full size 1:1.
    • User can also select existing entities then enter Make Scaled Drawing and the selected entities will be placed in the Scaled Drawing.
  • Create via existing group
    • Select an existing group, context click and select the Scale.
DWG Imports One reason that drawing in 2D at scale is important is that a lot of LayOut users are trying to work with imported AutoCAD geometry via the DWG format. So in this release, we"re introducing LayOut"s ability to import DWG files as native LayOut entities. DWG projects import at scale and support the pages, titleblocks, and blocks that your partners have created. Even better, LayOut users can now help themselves to the vast world of free DWG libraries.
  • Paper Space
    • Paper Space is the default setting on the importer that will bring in AutoCAD Paper Space data 1:1 and Model viewport data (if available) at the predefined scale. If the incoming AutoCAD drawing has multiple Paper Space options, the user has the ability to select a different one via the dropdown menu.
  • Model Space (Only)
    • Checking the Model Space (Only) option will bring in only the Model Space data at full size 1:1, place it in a scaled group that is then fit to the current paper size. This is an arbitrary scale and can be changed to whatever scale you choose.
  • SketchUp model reference
    • Checking the SketchUp model reference option will bring in the viewport and the Model Space (Only) data as a scaled SketchUp model reference.

All imported data is brought in at the scale and units based on the AutoCAD file. AutoCAD files that contain a perspective view either in the Model Space or within a Viewport are brought in as a SketchUp model reference by default.

Group Edit

To support scaled drawings, we made a juicy change we think LayOut regulars will notice right away: Editing grouped entities in LayOut now works just like it does in SketchUp including single entity groups. That means it"s wayyyy easier to draw and manipulate grouped entities. LayOut users can also control “rest of document” visibility when editing within a group. Does anyone else smell a new custom keyboard shortcut?

Drawing Tool Improvements

In this release, we have made a number of improvements to how you are able to draw. To keep track of them all we have listed them out.

  • Selection Improvements
    • New Add and Subtract Selection Modifiers that match SketchUp"s
    • ESC key now will cancel a Move, Scale or Rotate operation
    • With a revised Move to Layer rt. click context UI, you can now move entities to a locked layer
  • We now allow for Array operations in the Offset Tool
    • Define offset distance (imperial or metric) or offset quantity, including whether to insert additional offset paths in between the original entity (#/) or not (#x).
  • "Centerpoint" snaps are now available for all un-joined Arcs
  • We defined a separate "Object Center" snap
  • 2pt Arc Tool improvements:
    • "A" now defaults to the 2pt Arc Tool
    • A "Tangent" snap is available
    • Ability to add a "Fillet" - Define a fillet radius at the 3rd point
    • Able to add a "Chamfer" - By entering a radius of 0 at the 3rd point
  • Refined our Inferencing to make them more intelligent
  • Path Manipulator improvements:
    • Ability to select and move multiple points or line segments - taking advantage of the new selection improvements.
    • Ability to numerically move points or line segments
    • New vertex and segment highlighting
    • New "Add Vertex" icon
    • Delete key will now remove selected points or line segments
  • Path Tool improvements:
    • Option to disable Auto Join Lines via a rt. click context menu
    • You are now less likely to accidentally add a Bezier segment when using the path tool to create straight lines.
Multi Viewport Dimensioning

What sounds like an enabling physics concept for teleportation is actually a pretty simple LayOut idea. You should be able to draw dimensions across SketchUp viewports in order to create an excellent section detail like this…

Precise Dimensions

You can set the same level of dimension precision in the LayOut Dimension Style panel as you can in SketchUp. You can now be as precise as SketchUp dimensions. That"s up to 0.000001 inches. Do the math: that means LayOut can show the decimal equivalent of 1/64” (0.015625”).

Advanced Attribute Labels

Like all of the information in your model, SketchUp"s new advanced attributes are available when you draw LayOut labels.

Other LayOut Improvements Entity Locking

Similar to group editing, locking entities is fundamental to how many people organize and navigate projects (both models and documents). Now you can easily lock individual LayOut entities to cut down on accidental edits or selections. We can"t guarantee you"ll be less awkward at parties.

Bug Fixes/Small Improvements

In addition to the above, we’ve been heads down fixing bugs and adding some smaller features:

Stability
  • Fixed an issue with RTF Text objects would cause a crash with certain files.
  • Fixed a crash when pasting certain images not containing size information.
  • Fixed a crash in the Offset tool with certain complex shapes.
  • Improved overall selection performance.
  • Style Builder would crash changing width from 16 to 8.
  • We have improved the ability to successfully open certain damaged files.
  • (Win) A crash could occur setting certain font types, Modern, Romans or Script.
  • (Win) Fixed an issue where Style Builder would create two file folders on system.
  • (Win) Fixed a file save error when doing multiple document saves.
  • (Win) Fixed a crash when deleting text within a dimension.
  • (Win) We fixed a crash with the Table Manipulator.
  • (Mac) Improved the way we handle pdf import.
  • (Mac) Fixed an issue related to moving an inspector dialog would cause a crash.
  • (Mac) Fixed a crash when using text edit on the new MacBook Pro touchpad.
  • We fixed a crash when text was inserted over Label Text.
  • Users could experience a crash when updating a SketchUp model reference.
  • We made a performance improvement when transforming dimensions.
  • We fixed a crash when changing from Raster to Vector or Hybrid rendering.
  • We had a crash exporting to .dwg if Ignore Fills was unchecked.
  • (Win) Fixed an issue where our File Open dialog could get lost when user navigated to a different application then back to LayOut.
  • (Win) We fixed a crash when changing the file units from Meter to Millimeter.
SketchUp Model View
  • Active SketchUp scene is displayed in the inspector on import
  • Renaming a SketchUp scene will retain the previous scene and not revert to ‘Last Saved SketchUp View’.
  • Fixed an issue where resizing a viewport would prevent accurate snapping.
  • Down saved SketchUp file would display Autotext incorrectly.
  • Moving a Labeled SketchUp model will now move the labels correctly.
  • Fixed an issue where user would not be able to snap to a SketchUp model viewport edge, if viewport was clipping any part of the model.
  • Labels and Dimensions can now connect to LayOut entities on top of SketchUp models.
  • We inference section cuts much better.
  • Fixed an issue where Dimensions would be incorrect when a SketchUp model view was rotated orthogonal but a non standard view.
  • Hovering over a SketchUp model will produce “Model” inference points indicating you are connecting to the model. LayOut entities will continue to display the standard inference points.
Offset Tool
  • Fixed an issue where the offset tool would flip the direction of an entity.
  • Offset display improvements.
DWG Export
  • We now provide the option to export raster-rendered SketchUp models as hybrid-rendered.
  • We now place exported images on an ‘Images’ layer.
  • We now place viewport borders on a no-plot and off ‘Viewport’ layer.
  • We now place exported fills on a ‘Hatch’ layer
  • Fixed an issue where locked layers were exported as un-locked.
  • Suppressed units are no longer being exported.
  • Fixed an issue where perpendicular aligned Dimensions were being flipped.
  • Fixed an issue where fills were being applied when ‘Ignore Fills’.
  • (Mac) Previously defined export values now persist.
  • (Mac) Exported page range was not being respected.
Table Tool
  • Fixed a text alignment issue preventing certain .xls files from being inserted.
  • Fixed an issue where cell fill on one sheet of an imported .xls file would show up on another.
  • Fixed an inconsistency between inserting data into an existing table and a new table.
  • We fixed an issue where the cell fill would be off if the text was rotated.
  • Fixed a focus issue when inserting data in Table Manipulator.
  • Fixed an issue with imported EXCEL decimal point formatting error.
  • We fixed an issue where alignment would be off with imported EXCEL files with merged cells.
Miscellaneous
  • Fixed an issue where it was too easy to create a bezier curve during line input.
  • Style Builder is now capturing BugSplat data.
  • Fixed an issue where the layer created in Presentation Mode was displayed incorrectly.
  • Better support for some extended character sets when exporting to PDF.
  • Fixed an issue where LayOut text would shift when exporting to PDF
  • Fixed an issue where line spacing was too big on SketchUp text when exported to PDF.
  • Fixed an issue where a hidden layer would become active by changing pages.
  • Fixed an issue when object snap was on during precise move than grid snap wouldn't work.
  • A number of Localization and truncation issues have been fixed.
  • Inferencing an Arc center on a SketchUp model would cause a soft disconnect.
  • (Win) Fixed an issue where user was not prompted to save when a file ‘Sent to LayOut’ was closed.
  • (Mac) Updated the Preferences window so that the content fills all the available space.
  • (Mac) Fixed an issue where selection would be lost when switching focus to another application and then back to LayOut.
  • (Mac) Fixed the ctrl+lt mouse functionality within the SketchUp model editor.
  • We fixed an issue where filled ellipses would either export unfilled or not at all in our PDF exporter.
  • A number of translation truncation improvements.

SketchUp and LayOut API Release Notes

What’s New? LayOut Ruby API for SketchUp

This is a new Ruby based API for SketchUp that allows developers to read and write LayOut files using the regular SketchUp Ruby API. We’ve taken the existing LayOut C API and wrapped it with a Ruby layer and then included that inside SketchUp. This is proving to be a great working model for how to expose API functionality to our base C API and then expose that exact functionality to a ruby layer without duplicating code.

Sketchup.send_to_layout

Along with the LayOut Ruby API for SketchUp we added the ability to open LayOut files with the LayOut application. This gives developers the ability to write a SketchUp extension purely in ruby that parses the SketchUp model, writes a LayOut file and opens the LayOut file in LayOut in one smooth motion. This helps create a stronger connection between SketchUp and LayOut and can improve user workflows through the use of developer created extensions.

ImageRep

Hello Ruby API developers, meet Sketchup::ImageRep. This new class exposes a data structure internal to SketchUp called an ImageRep. ImageRep is an in-memory representation of an image (as opposed to a reference to an image inside the SketchUp model). This class exposes a number of image reading and manipulation tools to the Ruby API. Now you can get the color of a pixel at a specified uv coordinate from an ImageRep, get an array of all pixel data from an ImageRep, set pixel data in an ImageRep, save an ImageRep out to disk, and more. Of course we’ve also included utilities to convert an in-model texture to an ImageRep, and assign an ImageRep object directly to a material as the material’s texture. This new class opens up a lot of opportunities to read and manipulate images in the model. Check out the ImageRep class in Ruby API docs for more information.

Exposed Importer/Exporter Options to Ruby API

We have exposed all the options for our native importers and exporters to Ruby. See the Ruby API documentation on Sketchup::Model.import and Sketchup::Model.export.

New SketchUp Features in the API

A big round of applause for the SketchUp Core team for the improvements they have added to the SketchUp application. Well, we also wanted to make sure that these new features were accessible to our developer community. We have introduced new API features for Named Section Planes and Filled Section Cuts. Awesome!

Ruby Documentation

You’ve probably already seen this feature in action at ruby.sketchup.com. We have been working to improve our Ruby API documents and the publication process. At the beginning of the year, we switched from an internally tweaked and maintained version of RDoc to YARD for our documentation generation. In the process we had to make many alterations to our documentation in the source code. We made a specialized YARD template to suit our needs. The Ruby documentation will be available to Beta testers within the Resources section of CenterCode. If you are especially interested in helping with our Ruby Docs, you can even fork our repository, make changes, and submit them to us via a pull request and we can incorporate those changes back into our source code and they will go live the next time we update the online docs.

Ruby Handling of Advanced Attributes

SketchUp core added a feature called Advanced Attributes. This adds some new attribute dictionaries and attributes to Component Instances and Definitions by default on every model. It should be noted that we have blocked the ability to delete the dictionaries via ruby. This should not be possible, please let us know if you find a scenario where you are able to do so. You can however delete the key/value pairs. The UI will recreate those key value pairs if they do not exist.

Ruby Improvements and Fixes
  • Added method: UI.refresh_toolbars
  • Added constants to Geom::PolygonMesh:
    • Geom::PolygonMesh::MESH_NORMALS
    • Geom::PolygonMesh::MESH_POINTS
    • Geom::PolygonMesh::MESH_UVQ_BACK
    • Geom::PolygonMesh::MESH_UVQ_FRONT
  • Added method: SketchupDefinitionList.remove
  • Added Sketchup::Page methods:
    • include_in_animation?
    • include_in_animation=
  • Added Sketchup::SectionPlane methods:
    • name
    • name=
    • symbol
    • symbol=
  • Added SketchUp::ImageRep class:
    • load_file
    • save_file
    • initialize
    • bits_per_pixel
    • size
    • data
    • width
    • height
    • row_padding
    • colors
    • color_at_uv
    • set_data
  • Added Sketchup::Materials.unique_name
  • Added Sketchup::Texture.image_rep
  • Added Sketchup::Image.image_rep
  • Added Sketchup::Material.texture= to accept Sketchup::ImageRep object as one of the data types it uses.
  • Added rendering options support for filled section cuts:
    • RenderingOptions keys added:
      • SectionCutFilled
      • SectionDefaultFillColor
    • RenderingOptionsObserver constants:
      • ROPSetSectionCutFilled
      • ROPSetSectionDefaultFillColor
  • Added Sketchup.send_to_layout
  • Added options for all 3D exporters and imports
Bug Fixes
  • Breaking Change - Fixed a bug in Sketchup::Material.name= which allowed the API to create materials with duplicate names. Now it will raise ArgumentError if it's not unique to the model.
  • Breaking Change - Changed Sketchup::Color class to be common between LayOut and SketchUp. The potentially breaking change is that Sketchup::Color changed to now compare RGBA values instead of the ruby objects.
  • Breaking Change - Changed Geom::Transformation.identity? So that it now properly returns true in all cases where the transformation matrix match the values for the identity transformation.
  • Fixed Geom::Transformation.scale(float) and Geom::Transformation.new(float) to not set the 15th component of the matrix, but instead adjust the other fields.
  • Fixed a crash when trying to call Sketchup::View.animation from Animation.stop
  • Fixed a crash when calling UI.menu with empty string.
  • Sketchup::Page.erase_page will now correctly delete the Scene tab, like the UI does.
  • Fixed a bug in Sketchup::ArcCurve.end_angle where it sometimes added 360 degrees to the returned value.
  • Fixed an issue where a Ruby Importer could cause the Import file dialog to render the drop-down items incorrectly under Windows due to pipe characters in the description.
  • Fixed a crash when using -RubyStartup command line argument with a file that raises errors while loading.
  • Fixed a crash in UI.create_cursor that would happen if the length was less than 4 characters.
  • Fixed a rare crash in MaterialsObserver.
  • Removed the Break Edges option in Windows for DWG importer
Documentation Note: When an HtmlDialog is closed, all callbacks to that instance are cleared. Re-attach them if you need to open the dialog again.
SketchUp C API Additions and Improvements

We added new classes and functions to the SketchUp C API in 2017 to provide greater benefit to our developers and as part of our continued effort to fully deprecate and remove the old C++ API. We are continuing to add more until we gain enough coverage to consider the C API at feature parity with the deprecated C++ API. Reference the versions.txt file within the SDK to see the new additions. The preferences dll in the SDK is now required to use the C API. A change from previous versions.

Additions with a * indicate that there were multiple functions added in that class.

  • Added SUAttributeDictionary*
  • Added SUBoundingBox3DGetMidPoint
  • Added SUComponentInstance*
  • Added SUColor*
  • Added SUEntities*
  • Added SUEntity*
  • Added SUImageRepGetColorAtUV
  • Added SUImageRepGetDataAsColors
  • Added SULengthFormatter*
  • Added SULengthFormatRef
  • Added SULengthFormatType
  • Added SULengthUnitType
  • Added SULoopInputRef
  • Added SUMaterialIsDrawnTransparent
  • Added SUModel*
  • Added SUPlane3D*
  • Added SUPoint2D*
  • Added SUPoint3D*
  • Added SUScene*
  • Added SUSectionPlane*
  • Added SUText*
  • Added SUTextureGetAverageColor
  • Added SUTransformation*
  • Added SUVector2D*
  • Added SUVector3D*

Fixed SUMaterialSetName: now returns SU_ERROR_INVALID_ARGUMENT if the material is owned by a model and the name is not unique

LayOut C API Additions and Improvements
  • Added SU_ERROR_ENTITY_LOCKED error codes to applicable LO*Set* methods to support LayOut’s new Entity Locking feature
  • Changed LO*SetName methods to return SU_ERROR_UNSUPPORTED if the name string is an empty string
  • Added documentation for an undocumented return possibility (SU_ERROR_SERIALIZATION) in LOImageRepSaveAs
  • Added documentation for an undocumented return possibility (SU_ERROR_NO_DATA) in LODocumentCreateFromTemplate
  • Added documentation for an undocumented return possibility (SU_ERROR_NO_DATA) in LOStyleGetDimensionUnits
  • Added documentation for an undocumented return possibility (SU_ERROR_OUT_OF_RANGE) in LOStyleSetStartArrowType
  • Added documentation for an undocumented return possibility (SU_ERROR_OUT_OF_RANGE) in LOStyleSetEndArrowType
  • Added documentation for an undocumented return possibility (SU_ERROR_OUT_OF_RANGE) in LOStyleIsArrowTypeFilled
  • Added documentation for an undocumented return possibility (SU_ERROR_OUT_OF_RANGE) in LOStyleSetSubEntityStyle
  • Added documentation for an undocumented return possibility (SU_ERROR_OUT_OF_RANGE) in LOStyleGetSubEntityStyle
  • Added documentation for an undocumented return possibility (SU_ERROR_UNSUPPORTED) in LODocumentRemoveAutoTextDefinition
  • Added LOAutoTextDefinitionListRef, which is an object that can be used to iterate over all of the LOAutoTextDefinitionRef objects belonging to a LODocumentRef
  • Added LOAutoTextDefinitionGetMandatory
  • Added LOAutoTextDefinitionGetIndex
  • Added LOAutoTextGetDocument
  • Added LODictionaryClear
  • Added LODictionaryGetNumberOfKeys
  • Added LODictionaryGetKeys
  • Added LODictionaryRemoveEntry
  • Added LODocumentAddReference
  • Added LODocumentGetAutoTextDefinitionByName
  • Added LODocumentGetAutoTextDefinitions
  • Added LODocumentGetActiveLayer
  • Added LODocumentSetActiveLayer
  • Added LODocumentGetInitialPage
  • Added LODocumentSetInitialPage
  • Added LODocumentGetLengthFormatter
  • Added LOEntityGetLocked
  • Added LOEntitySetLocked
  • Added LOFormattedTextGetDisplayText
  • Added LOGroupGetScaleFactor
  • Added LOGroupSetScaleFactor
  • Added LOGroupGetScaleUnits
  • Added LOGroupSetScaleUnits
  • Added LOGroupRemoveScaleFactor
  • Added LOImageRepGetDPI
  • Added LOLayerGetDocument
  • Added LOLayerInstanceGetIndexOfEntity
  • Added LOPageGetDocument
  • Added LOPathAppendPathTo
  • Added LOTableGetBorderStyle
  • Added LOTableSetBorderStyle
  • Added LOTypedValueGetString
  • Added LOTypedValueSetString

Modified LOLinearDimensionCreate to set the initial leader line type to LOLinearDimensionLeaderLineType_Bezier instead of LOLinearDimensionLeaderLineType_Hidden.

Breaking change to LOFormattedTextGetStyleRunAtCharacter. This was previously mis-implemented. It now takes in a starting character index and a length, and returns a LOStyleRef object with style attributes for the specified run of characters.

Breaking change to LOSketchupModelGetExplodedEntities - an exploded raster-rendered model will now wrap the LOImageRef in a LOGroupRef.

Modified behavior of LORectangle and LOEllipse after ApplyTransform - previously these entities would incorporate the given transform by adjusting their intrinsic position to match the transform. As a result, invoking GetTransform after a SetTransform would return a recalculated transform matrix. With the new behavior, these entities will preserve the transformation matrix sent to SetTransform.

Known Issues:

Sketchup::Material.name= has a regression bug where setting the name to the existing name will also raise an error. (unintended). And that renaming the material via the UI might prevent the API from reusing the name until the model is reopened.

Recommended new pattern for setting material name:

material.name = materials.unique_name('Hello World')