In brief
- Dynamic Component development is available only to users with a SketchUp Pro subscription.
- A component is built from groups or sub-components, then made dynamic by adding predefined or custom attributes.
- Functions like CHOOSE, OPTIONINDEX, CURRENT, and NEAREST allow controlling the component's scaling and option behavior through formulas.
- 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:
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.
Add the attributes that make the component dynamic. You can choose from predefined attributes or define a custom attribute.
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.
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.
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:
| Function | Description | Example |
|---|---|---|
| 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 list | Used 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:
=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:
=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 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
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.



