next up previous contents index
Next: The Layer Expression Button: Up: The Edit Menu: Edit Previous: The Flatten Button: Flatten   Contents   Index


The Join/Split Button: Join or Split Objects

The Join/Split button in the Edit Menu brings up the Join or Split Objects panel. This panel contains controls for setting defaults and initiating join and split operations. These operations are identical to those available from the !join and !split text commands.

The panel contains the following controls:

No limits in join operation
This check box unsets the limits on the complexity of polygons that are created during the merge, by setting the JoinMaxPolyVerts, JoinMaxPolyGroup, and JoinMaxPolyQueue variables to ``0'' (zero).

Maximum vertices in joined polygon
This provides an entry area for setting the value of the JoinMaxPolyVerts variable, which limits the number of vertices allowed in a polygon created as the result of a join operation.

Maximum trapezoids per poly for join
This provides an entry area for setting the value of the JoinMaxPolyGroup variable, which places a limit on the number of connected trapezoids that can be used to form a polygon.

Trapezoid queue size for join
This provides an entry area for setting the value of the JoinMaxPolyQueue variable, which provides a limit on the number of trapezoids that can be considered for joining into polygons in a single pass.

Clean break in join operation limiting
When this check box is set, Xic will attempt to break polygons where the vertex limit is reached into pieces so that the boundaries are more visually attractive. This tracks the state of the JoinBreakClean variable.

Include wires (as polygons) in join/split
If this check box is set, wire objects will be included in join/split operations, treated as polygons. If not checked, wires are ignored in these operations. This tracks the state of the JoinSplitWires variable.

Join
This push button initiates a join operation on selected objects. All suitable selected objects will be joined on their respective layers, as for the !join command without an argument. Unlike other commands that join (merge) objects, this overrides the NoMerge technology attribute if set on an object's layer.

Join Lyr
This will join objects on the current layer, whether selected or not. The layer must be visible, and not have the NoMerge technology attribute set. This is equivalent to the !join command with the ``layer'' argument.

Join All
This push button initiates a join operation on all objects in the current cell, selected or not. It applies to objects on visible, selectable layers that do not have the NoMerge technology attribute applied. This is the same as the !join command with the ``all'' argument given.

Split Horiz
This will decompose complex polygons into a collection of trapezoids (boxes and simple polygons in the database) that collectively cover the same area and do not overlap. The splitting is performed using horizontal scan lines. This is the same effect as the !split command. Wire objects will also be split if the JoinSplitWires variable or the corresponding check box is set.

Split Vert
This will also decompose complex polygons into a collection of trapezoids, however vertical scan lines are used. This is the same effect as using the ``v'' argument to the !split command. Wire objects will also be split if the JoinSplitWires variable or the corresponding check box is set.


next up previous contents index
Next: The Layer Expression Button: Up: The Edit Menu: Edit Previous: The Flatten Button: Flatten   Contents   Index
Stephen R. Whiteley 2022-05-28