The name provided can be an archive file, the name of an Xic cell, a library file, or the ``database name'' of a Cell Hierarchy Digest (CHD). If a CHD name or the name of an archive file is given, the name of the cell to open can be provided as symname. If symname is null or empty, The CHD's default cell, or the top level cell (the one not used as a subcell by any other cells in the file) is the one opened for editing. If there is more than one top level cell, in graphics mode the user is presented with a pop-up choice menu and asked to make a selection. If the file is a library file, the symname can be given, and it should be one of the reference names from the library, or the name of a cell defined in the library. If symname is null or empty, in graphics mode a pop-up listing the library contents will appear, allowing the user to select a reference or cell. If not in graphics mode, and the cell to edit can not be determined, the current cell is unchanged, and nothing is read.
See the table in 11.1 for the features that apply during a call to this function. This function is consistent with the Open menu command in that cell name aliasing, layer filtering and modification, and scaling are not available (unlike in the pre-3.0.0 version of this function). If these features are needed, the vt OpenCell function should be used instead.
The return value is one of the following integers, representing the command status:
-2 | The function call was reentered. This is not likely to happen in scripts. |
-1 | The user aborted the operation. |
0 | The open failed: bad file name, parse error, etc. |
1 | The operation succeeded. |
2 | The read was successful on an archive with multiple top-level cells but the cells to edit can't be determined. The current cell has not been set, but the cells are in memory. The second argument could have been used to resolve the ambiguity. |
3 | The cell name was the name of the device library or model library file, which has been opened for text editing (in graphic mode only). |
See the table in 11.1 for the features that apply during a call to this function.
If curcell is nonzero, then this function will behave like the Edit function in switching the current cell to a newly-read cell. The only difference from Edit is that scaling, layer filtering and aliasing, and cell name modification are allowed, as in the pre-3.0.0 versions of the Edit function. The return values are those listed for the Edit function.
If curcell is zero, the new cell will not be the current cell. Once in memory, the cell is available by its simple name, for use by the Place function for example. If name is the name of an archive or library file, symname is the cell or reference to open, similar to the Edit function. In this mode, the return value is 1 on success, 0 otherwise.
This function implicitly calls Commit before the context change.
This function implicitly calls Commit before the context change.
In electrical mode, the bounding box returned will be for the schematiic or symbolic representation, matching how the cell is displayed in the main window. See the CellBB function for an alternative.
Warning: This affects the user flags directly, and does not update the property used to hold flag status that is written to disk when the cell is saved. These flags should be set by setting the Flags property (property number 7105) with AddProperty or AddCellProperty, if the values need to persist when the cell is written to disk and reread.
CGX | .cgx |
CIF | .cif |
GDSII | .gds |
OASIS | .oas |
The default format will be the format of the original input file, though format conversion can be imposed by adding one of these suffixes or ``.xic'' to newname. The cell is saved unconditionally; there is no user prompt.
See the table in 15.10 for the features that apply during a call to this function.
This function returns 1 on success, 0 otherwise. On error, a message is likely available from GetError.
Note that only modified or internally created cells will be written. To write all cells as native cell files, use the ToXIC function.