- Constrain angles to 45 degree multiples
When this check box is active, wire and polygon vertices are
constrained to form angles of multiples of 45 degrees. By default, a
``smart'' path generator is employed, which will construct a valid
path to the pointer location from the previous point during wire or
polygon construction. This will often add two vertices: a 45 degree
extension, followed by a Manhattan extension, in order to connect the
points. If the Ctrl key is held while the new point is defined,
the ``smart'' feature is disabled, and only one new vertex is added.
If the Shift key is held, then the 45 degree constraint is
removed entirely.
The Constrain45 variable tracks the state of this check box, and
setting or clearing the variable will also set or clear the mode.
When active, rotation angles available in the spin command, and
translation angles in the Stretch command, and the vertex
editors for polygons and wires, are constrained to multiples of 45
degrees. However, pressing the Shift key will remove the
constraint in these commands while the key is held. If the Constrain 45 variable is not defined, holding Shift will impose
the 45 degree angle constraint. Thus, the Shift key inverts the
effective state of the Constrain 45 variable (and this check
box) in these commands.
- Merge new boxes and polys with existing boxes/polys
When this check box is set, new boxes and polygons that are created
with the side menu commands are merged with existing boxes and
polygons to form a larger polygon in the database. New wires will be
connected to existing wires on the same layer with the same width and
endpoint, but do not participate in the box/polygon merging of new
objects.
However, on layers with the NoMerge technology file keyword set,
merging is always suppressed.
The state of this check box tracks the logically inverted state of the
boolean variable NoMergeObjects, which can (equivalently) be set
with the !set command.
Existing objects can be similarly joined, or split into trapezoids,
with the buttons in the Join or Split Objects panel brought up
with the Join/Split button in the Edit Menu.
Join (merging) operations are subject to the settings of several
variables, which have equivalent entries in the Join or Split
Objects panel. These limit the complexity of polygons created by
merging, mostly for optimizing for speed for merging large object
collections.
The Clip and merge new boxes only, not polys button in this
panel modifies the merging behavior to clip and merge boxes only.
This object merging is separate and unrelated to the box merging
available when reading a layout file into the database, which has a
separate merging control in the Setup page of the Import
Control panel from the Convert Menu.
- Clip and merge new boxes only, not polys
When merging is enabled (the Merge new boxes and polys with
existing boxes/polys check box is active), and this check box is also
active, polygons are ignored when merging, and new boxes are
clipped/merged. This was the merging behavior in releases prior to
3.1.7.
This setting has no effect if merging is not enabled. It tracks the
state of the NoMergePolys variable.
- Prompt to save modified native cells
When the box is checked, the user will be prompted to save the current
cell if the cell is modified, and would be saved as a native cell
file, and a new current cell is about to be set. This was standard
behavior in releases earlier than generation 4. Although it is always
a good idea to save work periodically, the prompt can be annoying to
experienced users and is now disabled by default. The user will be
given the chance to save modified cells when exiting Xic in any
case.
This check box tracks the state of the AskSaveNative variable.
The variable can be set as a boolean or cleared to change the mode,
which is equivalent to checking or un-checking this check box.
- No wire width change in magnification
When the box is checked, the width of wires does not change when the
wire undergoes magnification, in a Move, Copy, or Flatten operation.
This check box tracks the state of the NoWireWidthMag variable.
The variable can be set as a boolean or cleared to change the mode,
which is equivalent to checking or un-checking this check box.
- Allow Create Cell to overwrite existing cell
When this check box is active, The Create Cell operation in the
Edit Menu and the CreateCell script function can overwrite
cells already in memory. This can be dangerous and is prevented by
default, and the user is advised to be careful if using this feature.
This check box tracks the state of the CrCellOverwrite variable.
The variable can be set as a boolean or cleared to change the mode,
which is equivalent to checking or un-checking this check box.
- Maximum undo list length
This integer entry sets the number of operations remembered in the
Undo command. If not set, 25 operations are saved. If set to
zero, the length is unlimited.
This entry tracks the value of the UndoListLength variable. The
variable can be set as an integer or cleared to change the value,
which is equivalent to changing the integer entry in this panel.
- Maximum number of ghost-drawn objects
This integer entry sets the maximum number of objects to render
individually as ``ghosts'' attached to the mouse pointer during
operations such as move and copy. This can be set to an unsigned
integer in the range 50-50000. If there are more than this number,
some outlines won't be shown, the smaller-area objects will be
skipped. The default is 4000 if this variable is not set. If, when
moving a large number of objects, the pointer motion is too sluggish,
the user can set this variable to compensate.
This entry tracks the value of the MaxGhostObjects variable.
The variable can be set as an integer or cleared to change the value,
which is equivalent to changing the integer entry in this panel.
- Maximum subcell depth in ghosting
This menu sets the maximum expansion depth for instance expansion in
ghosting. If as expanded, this is the same as the normal
expansion depth. The actual expansion depth used in ghosting will not
be larger than the normal expansion depth, but can be smaller. For
example, setting this to 0 (zero) will prevent expansion of ghosted
subcells entirely.
This entry tracks the value of the MaxGhostDepth variable.
The variable can be set as an integer or cleared to change the value,
which is equivalent to changing the integer entry in this panel.