next up previous contents index
Next: Advanced Examples Up: The !layer Command: Generate Previous: Examples   Contents   Index

Extended Layer Names

The layer names in layer expressions in the !layer command can actually be given in an extended form:

lname[.stname][.cellname]

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.

lname
This is a short or long layer name, as found in the layer table.
stname
The name of a symbol table which contains the cellname.
cellname
The name of a cell.

If only one separator appears, the token that follows is taken as the cellname, and the current symbol table (see 9.3) 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.


next up previous contents index
Next: Advanced Examples Up: The !layer Command: Generate Previous: Examples   Contents   Index
Stephen R. Whiteley 2024-09-29