Initially, the user is prompted for a replication count. This can be any positive integer. When the copy is performed, the replication specifies the number of copies made, with the translation incremented for each new copy. Thus, this facilitates creating many equally-spaced structures.
If objects are previously selected, the group will be copied to new locations. If no objects have been selected, the user is asked to select objects to copy.
Responding to the prompts, the user first clicks on a reference point, then to a destination, using a hold and drag, or two clicks. If either the Shift or Ctrl key is held, the angle of translation is constrained to multiples of 45 degrees. The copy is produced such that the reference point falls on the destination point. The orientation of the copied object is altered according to the current transformation. Multiple copies are made by simply clicking on additional destinations.
When the Copy command is at the state where objects are selected, and the next button press would initiate the copy operation, if either of the Backspace or Delete keys is pressed, the command will revert the state back to selecting objects. Then, other objects can be selected or selected objects deselected, and the command is ready to go again. This can be repeated, to build up the set of selections needed.
Ordinarily, if a sub-window is displaying a cell other than the current cell being edited, it is not possible to select objects in that sub-window. However, while the Copy command is active, if the sub-window has the same electrical/physical mode as the current cell, selections are allowed in the foreign sub-window.
Selections in a foreign window can be ``picked up'' just like objects selected in the main window. Outlines of the selected objects will be attached to the mouse pointer. They can be copied into the main window or a sub-window displaying the current editing cell by dragging or clicking twice.
Objects can be selected in various sub-windows and the main window simultaneously. Selections in sub-windows showing the current cell are in all respects equivalent to the main window. Use of the Backspace or Delete key method above is necessary to obtain selections in both the main window (and equivalent sub-windows), and sub-windows showing other cells. When the copy in initiated, only the objects from the cell in the clicked-in window (when objects are picked up) will participate in the copy operation.
Once objects have been picked up, whether copies have been placed or not, pressing either of the Backspace or Delete keys will revert the command state to the level before the objects were picked up. The user can then click in another window to pick up that window's selected objects, or in the same window to pick up the previous objects but with a different reference location.
At any time, pressing the Deselect button to the left of the coordinate readout will revert the command state to the level where objects may be selected to copy (in any mode-compatible window).
The current transform is saved in Register 0 after each copy is placed. Pressing the Forward Slash key will swap the current and saved transforms, allowing the last-used transform to be retrieved. The current transform is saved and cleared when Deselect is pressed, and cleared when the Copy command exits.
The undo and redo operations (the Tab and Shift-Tab keypreses and Undo/Redo in the Modify Menu) will cycle the command state forward and backward when the command is active. Thus, the last command operation, such as initiating the copy by clicking, can be undone and restarted, or redone if necessary. If all command operations are undone, additional undo operations will undo previous commands, as when the undo operation is performed outside of a command. The redo operation will reverse the effect, however when any new modifying operation is started, the redo list is cleared. Thus, for example, if one undoes a box creation, then starts a copy operation, the ``redo'' capability of the box creation will be lost.
The substructure of cell instances being copied is highlighted to the depth shown in the main window. This facilitates alignment with other objects. One can change the display depth to reveal more or less of the substructure.
The replication count feature is not available when copying objects from a foreign window, since the reference point is from another cell and is unlikely to be valid in the current cell. One copy of each selected object is created, at the click location or where dragging terminated, ignoring the replication count.
While in a copy operation in physical mode, while the objects are ghost-drawn and attached to the pointer, pressing Enter causes the reference point to shift to the lower left corner of the bounding box containing the objects being copied. Pressing Enter will cycle the reference point through the corners of the bounding box, and back to the original reference location.
It is possible to change the layer of objects during a copy operation. During the time that objects are ghost drawn and attached to the mouse pointer, if the current layer is changed, the objects that are attached can be placed on the new layer. Subcells are not affected.
How this is applied depends on the setting of the LayerChangeMode variable, or equivalently the settings of the Layer Change Mode pop-up from the Set Layer Chg Mode button in the Modify Menu. The three possible modes are to ignore the layer change, to map objects on the old current layer to the new current layer, or to place all objects on the new current layer. If the current layer is set back to the previous layer before clicking to locate the new objects, no layers will change. Note that layer change is only possible for ``click-click'' mode and not ``press-drag''.
When the Copy command terminates, any selected objects in foreign sub-windows are deselected.
Copy operations can be also performed through the command line interface with the !co command.
Example:
Suppose that you are editing cell B, and you would like to add a
set of complicated polygons that you have already created in cell A.