Latest news
How to create Dynamic Components in SketchUp: smart components with formulas3ds Max'ta Shell, Kamera ve MassFX Rigid Body ile Sunum Sahnesi Hazırlama RehberiVEX-driven distribution with Copy to Points in Houdini: an architectural scene-filling guide3D Model Generation from a Single Image with Hunyuan3D 2.1: Setup and Usage GuideFixing Texture Seams and Tiling in Corona: A Guide to Triplanar and Randomizer SettingsUsing point clouds in Twinmotion: import and sharing guideSetting up ComfyUI and SwarmUI with cloud GPUs: a RunPod and Massed Compute guideCreating Architectural Curve Objects in Blender with Add Curve: Extra ObjectsTransferring a 3ds Max model to D5 Render: a guide to live sync with D5 ConverterChoosing the right IFC MVD in Archicad and Revit: a BIM coordination guide
Tips & GuidesSketchUp

How to create Dynamic Components in SketchUp: smart components with formulas

SketchUp Pro users can build scalable, smart Dynamic Components by adding mathematical and text-based formulas to components. The guide walks through the steps and functions based on official SketchUp documentation.

Rendered image in a studio setting representing a parametric furniture componentAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. Dynamic Component development is available only to users with a SketchUp Pro subscription.
  2. A component is built from groups or sub-components, then made dynamic by adding predefined or custom attributes.
  3. Functions like CHOOSE, OPTIONINDEX, CURRENT, and NEAREST allow controlling the component's scaling and option behavior through formulas.
  4. Once finished, the component can be right-clicked at the top level and saved as a separate .skp file via 'Save As,' then shared through 3D Warehouse.

The Dynamic Component feature in SketchUp lets repeated elements such as furniture, doors, and windows be made scalable, option-driven, and formula-controlled within a single component. According to official SketchUp help documentation, developing this feature is available only to users with a SketchUp Pro subscription; the SketchUp Pro Annual subscription is listed at $33.25 per user per month (billed annually).

How is a Dynamic Component created?

SketchUp documentation summarizes the process in these steps:

  1. Create a new component made entirely of groups or sub-components. Selecting geometry and converting it into a component is explained in the "Creating a Basic Component" article.

  2. Add the attributes that make the component dynamic. You can choose from predefined attributes or define a custom attribute.

  3. Define a value for each attribute you add. This value can be a simple number that constrains the component's dimension, a formula containing mathematical operators, or a function that switches between several options defined in the formula parameters.

  4. Test the component to make sure it works correctly. The documentation notes that it's normal to go back to step 1 or 2 several times at this stage.

  5. Save the component in a separate file so you can import it into other models from the Components browser or share it via 3D Warehouse. To do this, right-click the top level of the component, choose "Save As" from the menu that appears, and then save the resulting .skp file to a component collection.

Which formula functions are supported?

SketchUp offers math, SketchUp-specific, text, trigonometry, and logic functions for Dynamic Component formulas. Some basic functions are as follows:

FunctionDescriptionExample
ROUND(number, count)Rounds the number to the specified decimal place=ROUND(1.12789,2) → 1.13
CHOOSE(index, value1...valueN)Returns a value from the list based on the index=CHOOSE(2,"Blue","Red","Green") → "Red"
CURRENT("attributeName")Returns the last value applied by the user with the Scale or Move tool=ROUND(CURRENT("LenX")/2)*2
NEAREST(originalValue, value1...valueN)Returns the target value closest to the original value=NEAREST(CURRENT("LenX"),24,36,48)
OPTIONINDEX("attributeName")Returns the current index in the options listUsed for determining price based on material selection

When CHOOSE and OPTIONINDEX functions are used together, the price can also change when the user selects a different material in the Component Options window. The example given in the documentation is as follows:

formula
=CHOOSE(OPTIONINDEX("Material"), 100, 150, 200)

This formula returns one of the values 100, 150, or 200 depending on the material selected in the Component Options window.

For those who want to lock scaling to standard dimensions, the NEAREST function is also useful:

formula
=NEAREST(CURRENT("LenX"),24,36,48)

This formula ensures that when a value is entered into the LenX field, the component "snaps" to the closest of the 24, 36, or 48 widths after scaling.

What this means for architecture and interior design workflows

Dynamic Component is a time-saving tool especially for offices preparing libraries of repeated furniture, millwork, and fixed hardware. Preparing elements such as doors, windows, and shelves as a single parametric component and rescaling them across different projects is faster than drawing new geometry each time. However, since developing this feature requires a SketchUp Pro subscription, it should be noted that offices on the Go plan alone won't have access to this workflow. Also, since component formulas resemble spreadsheet logic, this shortens the learning curve for team members with Excel/Google Sheets experience.

Common mistakes

  • Trying to directly make a component dynamic when it consists of plain geometry without attributes: According to the documentation, the component must be made entirely of groups or sub-components.

  • Saving a formula without testing it: SketchUp notes that developing dynamic components is one of the more difficult tasks and that debugging is a normal part of the process; the testing step should not be skipped.

  • Trying to share a component without saving it from the top level via "Save As": For the component to work correctly in other models or on 3D Warehouse, it needs to be right-clicked at the top level and saved as a separate .skp file.

  • Using the OPTIONINDEX and CHOOSE functions with a misspelled attribute name: If the functions can't find a match with the given attribute name, they return 0 or produce an error.

Sources

3 sources
H
help.sketchup.comhelp.sketchup.com/en/sketchup/making-dynamic-component
Summary
H
help.sketchup.comhelp.sketchup.com/en/sketchup/dynamic-component-supported-functions
Summary
H
help.sketchup.comhelp.sketchup.com/en/sketchup/dynamic-components-sketchup-function-examples
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

Dynamic Component is a practical solution for architecture and interior design offices in Turkey looking to standardize their own furniture and millwork libraries. Since the formulas resemble spreadsheet logic, even users outside technical teams can quickly learn to write formulas; the combination of CHOOSE and OPTIONINDEX is particularly useful in projects involving material/price variations.

However, the fact that this feature is limited to the SketchUp Pro subscription is an important detail for offices planning budgets. Teams using the Go plan only for viewing or simple modeling need to factor in the cost of upgrading to Pro before starting to develop dynamic components. Also, since formula errors can take time to notice in the model, it's recommended to allocate sufficient time for the testing step with complex components.

Frequently asked questions

Which SketchUp version is needed to create Dynamic Components?

According to official SketchUp documentation, developing dynamic components is available only to users with a SketchUp Pro subscription.

Which functions can be used in Dynamic Component formulas?

In addition to math functions like ABS, ROUND, and CEILING, SketchUp-specific functions such as CHOOSE, CURRENT, OPTIONINDEX, and NEAREST, as well as text functions like CONCATENATE, LEFT, and UPPER, are supported.

How is a finished Dynamic Component shared?

Right-click the top level of the component, choose Save As from the menu, and save it as a separate .skp file; this file can then be imported from the Components browser or shared via 3D Warehouse.

Comments and the forum are in Turkish.Join the discussion
+

Related news