On this page



Copy stamping is no longer the recommended way to create variations when copying to points. Using a For-each loop and attributes instead is more efficient, easier to set up, and easier and understand.

The Copy to Points tool creates copies of a piece of source geometry on each point of a piece of template geometry. By default these copies are identical, but you can use stamping parameters to vary the generation of each copy.

Stamping parameters let you communicate information upstream to the operators connected to its inputs. This lets you use values defined in the Copy SOP to control parameters on the source geometry as it is copied, even though the parameters are on operators upstream from the Copy SOP.

For example, to create a progression of polygonal spheres with increasing detail, you can define a stamping parameter on a copy SOP, and use it upstream on the source geometry to set the number of divisions.

Because stamping lets you modify the source geometry for each copy, it is not available when you are instancing (see copying vs. instancing). You can only use it when you are creating “real” geometry with the Copy node. (There are tricks you can use to vary instances, see varying instances.)


If changing parameters isn’t powerful enough, you can create a Python surface node, or use the VEX surface node or Script surface node. These nodes let you write a script (or create a VOP network) to edit geometry, giving you total power over it.

How it works

Copy stamping is a two step process:

  • On the Copy node, create a stamping variable for each value you want to vary per-copy.

    1. Select the Copy node, and in the parameter editor, click the Stamp tab.

    2. Turn on Stamp inputs.

    3. Use the Variable N and Value N fields to set up variable names and expressions computing a value for the variable.

  • Once the variable is defined in the Copy node, use the stamp expression function in parameter expressions on the surface nodes that define the source geometry.

    For example, to vary the size of the copies, you could create a stamping variable named size and use it in the Scale parameter of a Transform node in the source geometry network.


Be careful naming stamping parameters. They may conflict with predefined parameter names on the input operators.

Stamping using materials

You can also use stamping with materials that you apply to your geometry.

  1. Set up a Copy node.

  2. Assign a material to the source geometry using a Material node.

  3. In the parameter editor of your Copy node, set Variables and Values on the Stamp tab and turn on Stamp inputs.

  4. In the parameters of the Material node, click the plus button beside Local Parameters.

  5. Choose the parameter you want to override from the Choose Parameter drop-down menu.

  6. Use the stamp function to grab the per copy values from the copy node.

See also

Copying and instancing

Getting started

Next steps

Guru level

Old workflows