In brief
- Dynamic Component development is available to SketchUp Pro subscribers.
- Repeating components can be arranged with formulas using the Copies and Copy attributes.
- In the official fence example, spacing between pickets is set to 2 inches.
- Component attributes can be used in LayOut tables and labels through a CSV report.
SketchUp’s official documentation, updated on 29 September 2026, explains how to create Dynamic Components that change according to dimensions and how to position repeating subcomponents. The methods in this guide are based on an example of pickets repeated along a fence; the same logic can also be applied to repeating elements such as stair treads, as described in the documentation. Developing Dynamic Components requires a SketchUp Pro subscription. Since the documentation does not specify a particular software version number, the steps here follow the published documentation.
Before you begin: organize the base component
A Dynamic Component is created by adding specific values and attributes to a component. The official documentation recommends starting with a well-organized structure of groups or subcomponents, then defining the component’s behavior with attributes. In the fence example, the main component consists of a top rail, a bottom rail, one picket, and one post. The pickets are copied as the main component is scaled along the X axis.
Turn the geometry into a component. Select the relevant geometry and choose
Edit › Make Component, or right-click the selection and chooseMake Component. Give the component a distinctive name and a short description. This makes it easier to identify among other geometry in the Outliner.Set up and check the hierarchy. Keep the part to be repeated as a separate subcomponent. A clear relationship between the main component and its subcomponents makes it easier to identify which part’s dimensions to use in formulas. Editing a component definition can affect all instances of that definition in the model, though it is also possible to change just one instance. Check the scope of any changes when editing parts used in multiple places.
Add Dynamic Attributes. Right-click the component and open the
Dynamic Components › Component Attributeswindow. The predefined attributes include theLenX,LenY, andLenZdimensions; theX,Y, andZpositions; andCopiesandCopy. In the fence example in the documentation, a customspacingattribute is added to the main Fence component and set to 2. This defines a 2-inch gap between pickets in the example; it is not a default value for every project.
Use formulas to duplicate repeating parts
Calculate the number of copies. First, enter a formula in the
Copiesattribute of the picket subcomponent. The example in the documentation divides the top rail’s X length by the sum of the picket’s X length and the spacing, then subtracts one:
=(TopRail!LenX)/(Picket!LenX+Fence!spacing)-1Here, TopRail!LenX is the top rail’s length along the X axis, Picket!LenX is the picket’s length along the X axis, and Fence!spacing is the gap set in the main component. This ties the number of copies to the rail’s length and the space occupied by the elements. The formula depends on the component names in the example; if the names and relationships differ in another model, don’t use the expression without adapting it.
Position each copy. Setting the number of copies does not, by itself, line the parts up: instances created with
Copiesinitially have the same X, Y, and Z coordinates as the original component. To position each part, enter the following expression in the picket’sXattribute:
=5+COPY*(Fence!spacing+LenX)Copy is a variable that treats the original part as 0 and provides an increasing numerical value for the copies. In the formula, this value is multiplied by the spacing and picket width, moving each copy to the next position along the X axis. The documentation uses this setup to explain how pickets multiply as the fence is scaled.
| Setting | Suggested value | Effect |
|---|---|---|
Fence!spacing | 2 for the example | Defines the gap between pickets; the value in the documentation is in inches. |
Copies | =(TopRail!LenX)/(Picket!LenX+Fence!spacing)-1 | Calculates the number of copies based on the top rail’s length. |
Picket’s X attribute | =5+COPY*(Fence!spacing+LenX) | Positions the original part and its copies along the X axis. |
Test by scaling. Close the attributes window and scale the main component along the X axis with the Scale tool. In the fence example, the expected result is that pickets are added as the component gets longer. The documentation recommends checking the copies in the Outliner, where instances such as
Picket copy 1andPicket copy 2may be listed. Since setting up a Dynamic Component may require returning to the first step or editing attributes repeatedly, check the result at different scales.
Save the component and use it in project documentation
Save the component as a separate file. Right-click the top level of the Dynamic Component, choose
Save As, and save the resulting.skpfile to a component collection. This file can be brought into other models through the Components browser or shared with others. Be sure to save the top level of the main component, rather than only a subcomponent.
Don’t think of components as just a way to repeat geometry. SketchUp also lets you add advanced attributes to basic components, such as price, dimensions, URLs, and IFC classifications. Component attributes can be exported to a CSV report; the data can then be brought into LayOut as a table and used to automate labels. This can be useful for workflows that carry component data from the model into documentation.
Impact on architecture and visualization workflows
This method can benefit architecture and interior design teams working with fences that change in length, repeating railing elements, or parts arranged according to similar logic. Linking the number and positions of copies to a formula when an element’s dimensions change can reduce the need to position every part manually. In return, component hierarchies and formula names need to be set up carefully; a broken or incorrect attribute reference may not produce the expected behavior.
The sources do not provide information about hardware requirements, performance measurements, or compatibility with different software versions. In terms of licensing, developing Dynamic Components requires a Pro subscription, so offices should check their current subscriptions before using the feature. Although the documentation confirms that components can be saved as .skp files and brought into other models, teams should test component definitions and the attributes they use together when sharing them internally.
Common mistakes
Writing formulas before organizing the parent and subcomponents, which can lead to using incorrect component names or length references.
Setting the
Copiesvalue but overlooking that copies may remain at the same coordinates. Position attributes must also be defined to distribute them.Assuming the 2-inch gap in the example fence is a fixed value suitable for every model. It is only the value used in the official example.
Sharing or saving the component without testing the result. Check its behavior while scaling and in the Outliner.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture and visualization offices in Turkey, the main value of Dynamic Components is that they can reduce the time spent duplicating and positioning repeating elements whose dimensions change often. For fences, railings, or similar components, a well-constructed formula can help revisions proceed more consistently. However, the initial setup requires time for the hierarchy and formulas; incorrect references may fail to produce the expected copies.
When planning budgets, keep in mind that developing Dynamic Components requires a Pro subscription. The official documentation does not specify hardware requirements or performance gains, so it would not be right to make additional claims about hardware investments. Teams should not mistake the 2-inch gap in the example formulas for a design dimension that applies to them; they should test the component by scaling it and verify that they have saved the top-level `.skp` file before sharing it.
Frequently asked questions
Do you need Pro to create Dynamic Components in SketchUp?
Yes. According to SketchUp’s official documentation, developing Dynamic Components is available only to SketchUp Pro subscribers.
How do you duplicate repeating parts with SketchUp Dynamic Components?
In the fence example in the documentation, the `Copies` attribute calculates the number of copies, while a position formula using the `Copy` variable distributes them along the X axis.
Can SketchUp component attributes be used in LayOut?
Yes. After creating a CSV report in SketchUp, the data can be brought into LayOut as a table and used to automate labels.



