Command
QisLib_SaveGDSII Function: int QisLib_SaveGDSII(const char* OutFileName); Inputs: OutFileName: Name and path of the GDSII file to be saved. Return: success: 0 failure: one of the following values : Errors: 1: No GDSII file has been opened. 2: Cannot save GDSII file from memory maps. -1: QisLib has not been initialized. -2: Internal database error occurred while preparing to save the GDSII file. -3: No GDSII file loaded in memory. -4: Internal memory failure occurred while saving GDSII file. -5: Cannot call this function again while saving to a file. -6: Disk error occurred while writing to the GDSII file. -7: Internal error occurred while performing save operation. -8: The specified input is invalid (null). -9: File open in progress, operation not permitted. Description: - This function can be used to save a GDSII file opened in edit mode (QisLib_SetLoadMemory on) to another GDSII file. - This function will work only if the input GDSII file has been opened in edit mode. (QisLibSetLoadMemory was on during QisLib_OpenGDSII or a new GDSII file was created using QisLibNewGDSII) It will not work for OASIS files. - QisLib_SaveGDSII will also fail if the GDSII file was opened directly from memory maps using QisLib_OpenMemoryMaps. - Any changes made to the polygons, layers or cells will be reflected. - The cell hierarchy is preserved during this operation. - This command does not save settings such as layer on/off, nesting level, array mode, etc. - Data is output on the same layer as the input. However QisLib_SetOutputLayerMap can be used to control the mapping of the input layers to different output layers. - The data in the output file may not be same as the input even if no changes are made. e.g. The order of vertices may be different. Depending on the GDSII chunk size, the number of bits padded at the end of the file may be different. Header information, font information, reference libraries, etc., may also be different. - If a progress message callback function has been set using QisLib_SetProgressMessageCallback, QisLib updates the file save percentage to the user program while this function is executing. - Boxes are saved as boxes regardless of the QisLib_SetBoxBoundary setting. - The Grid and Unit values of the output GDSII file can be controlled by using QisLib_SetDBU and QisLib_SetResolution. By default, these values will be same as the input GDSII file. - If this operation needs to be cancelled, use QisLib_Stop. This can only be done if QisLib_SetProcessEvents is turned on. Also, for Unix/Linux, the program's application context must be passed to QisLib_InitLib.References: QisLib_SetOutputLayerMap QisLib_OpenMemoryMaps QisLib_SetLoadMemory QisLib_NewGDSII QisLib_SetBoxBoundary QisLib_SetDBU QisLib_Stop QisLib_SetResolution |