Suppose one has two versions of a cell, cell and cell_old, and one needs to know if they differ on layer M1. Open a dummy cell for editing, then issue
!layer ZZ = M1.cell^M1.cell_oldPress the Home key to view the entire cell space. Any geometry shown on the new dummy layer ZZ is the exclusive-OR of the geometry on M1 of the two cells, i.e., the difference. If there is no geometry on ZZ, M1 is the same in cell and cell_old.
As a variation, suppose that the user has done the following:
Set symbol table to ``old''.There are two versions of mycell in memory. To compare the layer M1 in the two cells, one could then enter
open oldstuff/mycell
Return to previous symbol table.
open newstuff/mycell
!layer ZZ M1^M1.old.Then the ZZ layer, which consists of the exclusive-OR of old and new M1 in mycell, would be added to the current mycell. Pressing the Tab key undoes the addition.
Suppose one wants to import the inverse of the geometry on layer VIA from cell into the current cell, also on layer VIA:
!layer VIA = !VIA.cellThe VIA layer now consists of the inverse from cell. Any geometry that existed on VIA in the current cell before the command was given is deleted. The bounding box of the current cell may have been expanded to include the bounding box of cell. The area used to create an inversion is the rectangle bounding all cells referenced in the expression, plus the current cell.
Suppose one simply wants to copy the geometry from layer M2 of cell into the current cell:
!layer M2 = M2.cellThe M2 layer now consists of the geometry on M2 from cell. The bounding box of the current cell may have been expanded, in which case some of the M2 features may be off-screen (press the Home key to view the entire cell). Any objects previously existing on M2 in the current cell are deleted before the operation.