Go to: Synopsis. Return value. Flags. MEL examples.

Synopsis

duplicate [-fullPath] [-inputConnections] [-instanceLeaf] [-name string] [-parentOnly] [-renameChildren] [-returnRootsOnly] [-smartTransform] [-transformsOnly] [-upstreamNodes] [objects...]

duplicate is undoable, NOT queryable, and NOT editable.

This command duplicates the given objects. If no objects are given, then the selected list is duplicated.

The smart transform feature allows duplicate to transform newly duplicated objects based on previous transformations between duplications.

Example: Duplicate an object and move it to a new location. Duplicate it again with the smart duplicate flag. It should have moved once again the distance you had previously moved it.

Note: changing the selected list between smart duplications will cause the transform information to be deleted

The upstream Nodes option forces duplication of all upstream nodes leading upto the selected objects.. Upstream nodes are defined as all nodes feeding into selected nodes. During traversal of Dependency graph, if another dagObject is encountered, then that node and all it's parent transforms are also duplicated.

The inputConnections option forces the duplication of input connections to the nodes that are to be duplicated. This is very useful especially in cases where two nodes that are connected to each other are specified as nodes to be duplicated. In that situation, the connection between the nodes is also duplicated.

See also: instance

Return value

string[]: names of the objects created

Flags

fullPath, inputConnections, instanceLeaf, name, parentOnly, renameChildren, returnRootsOnly, smartTransform, transformsOnly, upstreamNodes
Long name (short name) Argument types Properties
-fullPath(-f) create
ADDED 2022 Return full pathnames instead of object names.
-inputConnections(-ic) create
Input connections to the node to be duplicated, are also duplicated. This would result in a fan-out scenario as the nodes at the input side are not duplicated (unlike the -un option).
-instanceLeaf(-ilf) create
instead of duplicating leaf DAG nodes, instance them.
-name(-n) string create
name to give duplicated object(s)
-parentOnly(-po) create
Duplicate only the specified DAG node and not any of its children.
-renameChildren(-rc) create
rename the child nodes of the hierarchy, to make them unique.
-returnRootsOnly(-rr) create
return only the root nodes of the new hierarchy. When used with upstreamNodes flag, the upstream nodes will be omitted in the result. This flag controls only what is returned in the output string[], and it does NOT change the behaviour of the duplicate command.
-smartTransform(-st) create
remembers last transformation and applies it to duplicated object(s)
-transformsOnly(-to) create
Duplicate only transform nodes and not any shapes.
-upstreamNodes(-un) create
the upstream nodes leading upto the selected nodes (along with their connections) are also duplicated.

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can be used more than once in a command.

MEL examples

  // Create a hierarchy of two spheres;
  sphere -n sphere1; move 3 0 0;
  sphere -n sphere2; move -3 0 0;
  group -n group1 sphere1 sphere2;
  circle -n circle1;

  // Create a duplicate of the group
duplicate group1;
  // Result: group2 sphere1 sphere2 //

  undo; duplicate -rr group1;
  // Result: group2 //

  // Create a row of 4 circles equally spaced using
  // the -smartTransform flag.
duplicate circle1; move 3 0 0; duplicate -st; duplicate -st;

  // Duplicate a sphere along with its input connections.
  // If animCurves were feeding into original transforms of the
  // sphere, they will feed into the duplicated ones also.
  // If the sphere has history (in this case it does),
  // then the history is connected to the duplicate. Note that
  // changing the radius for the makeNurbSphere for the sphere1
  // affects the duplicated sphere.
  //
  duplicate -ic group1|sphere1; move 0 0 0;
  setAttr makeNurbSphere1.radius 2;

  // Duplicate selected objects along with their upstream nodes
  // and connections. This will duplicate the history.
  select group1|sphere2;
duplicate -un;