The layer names in the layer expression (but not the To layer entry) can actually be given in an extended form:
Most generally, the ``layer'' name consists of three tokens, two of which are optional (indicated by square brackets above). The tokens are separated by a period (`.') character. The individual tokens can be double-quoted (i.e., using the double-quote (`"') character), which must be used if the tokens contain non-alphanumeric characters. The period separators must appear outside the scope of any quoting.
If only one separator appears, the token that follows is taken as the cellname, and the current symbol table is assumed.
The cellname is the name of a cell used as the source for geometry. If no cellname is given, the name of the current cell is understood. The odd case of an empty stname indicates the ``main'' symbol table, e.g., layer..cell is equivalent to layer.main.cell.
If the cellname starts with the `' character, and no symbol table name is given, then the rest of the cellname is taken as the name of a ``special'' database, as created with script functions like ChdOpenZdb. If found, geometry will be obtained from the database rather than a cell. Otherwise, when a cellname is given, the geometry is obtained from the given cell, as if it were overlaid on the current cell. The cellname (or any of the three tokens) can be double quoted, and must be quoted if the name contains a `.' character, for example CPG."mycell.xic".
If a stname is given, and the name matches an existing symbol table name, the cell is obtained from that symbol table. If the symbol table name is given, the cellname field must appear, but can be empty (a trailing period) which indicates the name of the current cell.
If the stname is given, and the cell is not in this table, it will be opened from disk into the given table (not the current table) if found as a native cell file in the search path.
The coordinate origin of the source cell is taken as the origin of the current cell. The source cell must be in memory, or be in a native cell in the search path.
Objects read from a ``special'' database are clipped to the boundary of the cell being added to. No such clipping is done when objects are read from another cell.