Next: The Edit Button: Edit
Up: Cell and Object Properties
Previous: Electrical Mode Properties
Contents
Index
Physical Mode Pseudo-Properties
In physical mode, the listing of properties contains
``pseudo-properties'' which are not saved as properties, but rather
change or return some parameter related to the object. This allows
the property setting mechanism to be used to alter the physical
layout, which can be an important feature in design automation. There
are a number of reserved property numbers which can be applied to
physical objects (this feature applies in physical mode only).
Setting the property will change a geometric or other attribute of the
object. Reading the property will provide the value of the geometric
or some other parameter. The pseudo-properties are listed below.
- 7200: XprpType
This value can be read from all objects. The returned property string
consists of a single character: b, p, w, l,
or c for boxes, polygons, wires, labels, or subcells
respectively. The returned value indicates the type of object.
- 7201: XprpBB
This value can be read from all objects, and can be applied to boxes,
polygons, wires, and labels. The property string is in the form left,bottom right,top where the left,
etc. are the coordinates of the object's bounding box in internal
units. The x and y values are separated by commas. When
this property is applied to an object other than a subcell, the
object's geometry is stretched to conform to the bounding box given.
- 7202: XprpLayer
This value can be read from all objects, and can be applied to boxes,
polygons, wires, and subcells. The property string is the name of the
layer on which the object is defined. For subcells, the returned name
is ``$$'', which is the internal name for the layer on which
subcells are defined. When this property is given to an object (not a
subcell), and if the name is found in the layer table, the object will
be moved to the given layer.
- 7203: XprpFlags
This value can be read from all objects, and can be applied to all
objects. The property string is a list of values and keywords
corresponding to special flags associated with the object. These
flags are set internally, and should not be set by the general user.
- 7204: XprpState
This value can be read from all objects, and can be applied to all
objects. The property string contains one of the keywords normal, selected, deleted, incomplete, and internal. This indicates a state value for the object which is used
internally. These values should not be set by the general user.
- 7205: XprpGroup
This value can be read from all objects, and can be applied to all
objects. The property string is an integer corresponding to the
conductor group assigned to the object by the extraction system.
Though all objects have this data field, it has relevance to objects
that are defined on conducting layers only. It is generally unwise
for the user to set this value.
- 7206: XprpCoords
This value can be read from all objects, and can be applied to boxes,
polygons, wires, and labels. The property string is a list of
coordinates, one for each vertex, with the x and y values
separated by a comma. Line feeds are included in returned strings to
keep the line length below 80 characters. The values are in internal
units. For boxes, labels, and subcells, the coordinates are those of
the bounding box. For polygons and wires, the coordinates are the
actual vertices. For all but wires, the first and last coordinates
are the same, i.e., the path is closed. For boxes and polygons,
applying this property will change the object geometry. If the new
geometry is a Manhattan rectangle, the new figure will be a box,
otherwise it will be a polygon. When applied to wires, the new object
will always be a wire, but with the new path. The coordinates given
to a label must describe a Manhattan rectangle, and the label will be
stretched to fill the given rectangle, as with applying XprpBB.
- 7207: XprpMagn
This value can be read from all objects, and can be applied to all
objects. The return value is ``1.0'' for objects other than subcells,
and the magnification value for subcells. When applied to objects
other than subcells, all coordinates of the object will be scaled by
the given value. When applied to subcells, the instance magnification
factor will take the new value. Note that the instance origin will
not change, however the scaling given to other objects in general
implies a translation as well as a change in size.
- 7208: XprpWwidth
This value can be read from wires, and can be applied to wires. The
property string is the width of the wire in internal units. When
applied to a wire, the width will take the new value. This has no
effect when applied to objects other than wires.
- 7209: XprpWstyle
This value can be read from wires, and can be applied to wires. The
property string is the end style code, which is an integer 0, 1, or 2.
If 0, flush ends are used. If 1, the wire is extended by one half of
the width, and the end is rounded. If 2, the wire is extended by one
half of the width, and the end is Manhattan. Applying this property
to a wire will cause that wire to be rendered with the given end
style. The property has no effect if given to objects other than
wires.
- 7210: XprpText
This value can be read from labels, and can be applied to labels. The
return value is the text of the label. The full text including
encoded hypertext entries is provided. When applied to a label, the
label takes the new text. There is no effect if this property is
applied to objects other than labels.
- 7211: XprpXform
This value can be read from labels, and can be applied to labels. The
property string is a hexadecimal integer representing a transformation
code.
Bits |
Description |
0-1 |
0-no rotation, 1-90, 2-180, 3-270 |
2 |
mirror y after rotation |
3 |
mirror x after rotation and mirror y |
4 |
shift rotation to 45, 135, 225, 315 |
5-6 |
horiz justification 00,11 left, 01 center, 10 right |
7-8 |
vert justification 00,11 bottom, 01 center, 10 top |
9-10 |
font |
When applied to a label, the label will rendered using the new code.
This property has no effect when applied to objects other than labels.
- 7212: XprpArray
This value can be read from subcell instances, and can be applied to
subcell instances. The property string is of the form ``nx,ny dx,dy'' where nx and ny are
the number of columns and rows, and the dx and dy are the
center to center spacings in internal units, for an array of subcells.
When applied to an instance, the array parameters of the instance are
correspondingly changed. This property has no effect on objects other
than subcells.
- 7213: XprpTransf
This value can be read from subcell instances, and can be applied to
subcell instances. The property string is the CIF transformation
string for the instance, with coordinates in internal units. When
applied to an instance, the instance placement and orientation change
to reflect the new transformation. This property has no effect on
objects other than subcells.
- 7214: XprpName
This value can be read from subcell instances, and can be applied to
subcell instances. The property string is the name of the
instantiated cell. If this property is set, the instance is replaced
by an instance of the given cell name. The current transform is added
to the existing transform when the new instance is placed. This
property has no effect on objects other than subcells.
The settable pseudo-properties for an object are listed in the
Properties Editor, along with the ``real'' properties. These can be
changed in the same way, which will produce physical changes to the
object.
Next: The Edit Button: Edit
Up: Cell and Object Properties
Previous: Electrical Mode Properties
Contents
Index
Stephen R. Whiteley
2006-10-23