Copies geometry and applies transformations to the copies.
The Duplicate OP is a simpler but faster version of the Copy node:
Copying onto a template is not supported.
Copies are appended to the source geometry, not extracted.
Duplicate is much faster than Copy because it’s less complex.
Parameters
| Source Group | A subset of input primitives to copy from. |
| Number of copies | The number of copies to be made. |
| Transform Cumulative | Each copy is transformed relative to the previous. |
| Transform Order | Order transformations occur. |
| Rotate Order | Order rotations occur. |
| Translate | Translation along xyz axes. |
| Rotate | Rotation about xyz axes. |
| Scale | Non-uniform scaling along xyz axes. |
| Shear | Amount of shearing. The three values represent X on XY plane, X on XZ plane, and Y on YZ plane respectively. |
| Pivot | The local pivot point of the copy. |
| Uniform Scale | Uniform scaling. |
| Preserve Normal Length | Normals to maintain length after transformations. |
| Create Output Groups | Places each copy into a primitive group. |
| Preserve Groups | Don’t delete the contents of the copy group if it already exists before adding the copied primitives. |
| Copy Groups | The name of the group to create for each copy. |
Local variables
| CY | The copy number. |
| NCY | The number of copies. |
The following variables refer to the input geometry.
| CEX, CEY, CEZ | The centroid of the entire input geometry. |
| GCX, GCY, GCZ | The centroid of the input group. |
| XMIN, XMAX | The X extents of the bounding box of the geometry. |
| YMIN, YMAX | The Y extents of the bounding box of the geometry. |
| ZMIN, ZMAX | The Z extents of the bounding box of the geometry. |
| SIZEX, SIZEY, SIZEZ | The size of the bounding box. |
| BBX, BBY, BBZ | The point’s relative position in the bounding box. |
Examples
| DuplicateBox | Load | Launch |
The Duplicate SOP, in this example, is used to create multiple iterations of a box geometry with each copy scaled and offset cumulatively. Expressions using copy number $CY may be used to control each iteration’s parameters. | |