Collection (Array)

A collection of assets arranged in a grid-like array.

  • Collection: The specific collection to sample for assets.

  • X/Y Count: Number of assets to load from this collection in each direction, provided by an integer value or integer range.

  • X/Y Spacing: The distance between each asset in the array in each direction, provided by a number variable.

  • Spacing Method: Defines how to determine the space between each asset.

    • "Object bounds" sets the spacing of the assets relative to their bounding boxes. If the array consists of multiple assets, the bounds are defined by the maximum value from all sampled assets.

    Array spacing using the "Object bounds" method
    • "Grid lines" places the objects in a grid where the grid lines are spaced using the provided values for X/Y spacing. For example, if the X/Y spacing is set to 1 meter, objects will be placed in a grid where the grid lines are 1 meter apart in the X and Y directions. This method should be used only in cases where assets will have sufficient space between one another and where there is relatively low variation in the size of assets in this collection.

Array spacing using the "Grid lines" method
  • Use Largest Dimension: If checked, the largest dimension of an object is used to determine its bounds. For example, if an object is 1x4 meters, the grid spacing will be 4x4 meters. This is useful if you intend to rotate individual objects in the array.

  • Use Single Asset: If checked, the same asset will be instanced for each array element.

  • Separate Array Elements: If checked, placement operations for all downstream child objects will be executed for each element in the array.

  • Remove Invalid Array Elements: If checked, invalid elements (typically caused by object collisions) will be removed after all placement rules have been executed. This allows for placement of the entire array to be successful even if individual elements would otherwise cause it to fail.


In practice, an array is treated as any other object in your simulation. Many placement rules have an "Execute per Array Element" option. If this is enabled, the corresponding placement rule will be executed on a per-element basis. In the below example, a 3x3 array of a single screw asset is placed on a ground plane using the Put Object rule and is subsequently rotated with Rotate Object. When "Execute per Array Element" is disabled, the entire array of objects is rotated together. When enabled, each screw is rotated in-place.

"Execute per Array Element" disabled
"Execute per Array Element" enabled

Last updated