[Artwork] / [QisMLib]

QisMFile

A spatial database created from GDSII/OASIS files

QisMFileQisMFile C++ API (qismfile.h)Data Structures (qismbase.h)QisMExploder (qismexploder.h)class QisMFileLoadCtrlVersion ControlSet_layer_map()Get_layer_map()Set_ignore_texts()Get_ignore_texts()Set_file_data_on_disk()Get_file_data_on_disk()Compute_exploded_counts()Set_ignore_text_scale()Get_ignore_text_scale()Set_load_empty_refs()Get_load_empty_refs()Reset_to_defaults()class QisMFileLoadCtrlV2Set_preprocess_specGet_preprocess_cmdGet_preprocess_specGet_preprocess_filestruct QisMLoadProc1CMD_NAMEK_CELLK_BUTTING_UMK_CONVEXK_SIZING_UMK_MAXVERTK_CORRX_UMK_XFORMK_XFORM_SCALEK_XFORM_TXY_UMK_XFORM_ANGLEK_XFORM_FLIPK_XFORM_SHEARK_CIRCLE_UMK_JITTER_UMK_MIN_REPK_NO_AREFSK_TILE_VK_NTK_NPK_TILE_ROI_UMK_TILE_DBGK_ACSVK_ACSPstruct QisMLoadProcOASCMD_NAMEK_MAXVK_DROPCELLSK_LAYERMAPF_NOTEXTstruct QisMLoadProcHEXTCMD_NAMEK_CELLF_NOPATHSK_TOPNAMEK_NAMEMODK_SCALEK_ANGLEK_TRANSLATE_UMF_FLIPYK_LAYEROFFXK_CLIP_BOX_UMK_CLIP_POLY_UMK_CLIP_RND_UMclass QisMFileVersion ControlGet_last_error_msg()Get_file_path()Get_default_top_cell()Get_cell_list()Get_top_cell_list()Get_non_top_cell_list()Get_cell_children_list()Get_cell_extents()Get_layer_list()Free_cell_list()Free_layer_list()Get_cell_index()Get_cell_name()Get_file_report()Grid()Units()Get_db_idx()Get_cell_layer_exploded_vertices()Create_exploder()Destroy_exploder()class QisMFileMemoryMaps SaveAs_memory_maps()typedef QisMFileV2class QisMFileV3Parent()QisMFile commandsfile.copy_tofile.print_reportfile.get_default_cellfile.print_cellsfile.print_top_cellsfile.print_child_cellsfile.get_cell_extentsfile.print_layersfile.print_cell_tree file.save_memory_mapsfile.create_exploderfile.destroy_exploder


QisMFile C++ API (qismfile.h)

Data Structures (qismbase.h)

QisMExploder (qismexploder.h)

class QisMFileLoadCtrl

Settings that control how a file is loaded into the database

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived)

Set_layer_map()

Get_layer_map()

Set and get an input layer map to filter/map layers of interest

Set_ignore_texts()

Get_ignore_texts()

Set and get a flag to load or ignore text elements

Set_file_data_on_disk()

Get_file_data_on_disk()

Load the file data into memory or access them from the file on disk

Compute_exploded_counts()

Specify a list of layers for which exploded vertex counts will be pre-computed for use later

Set_ignore_text_scale()

Get_ignore_text_scale()

Control to include/exclude TEXT extents in the calculation of cell extents for GDSII files

Set_load_empty_refs()

Get_load_empty_refs()

Control to load/ignore empty cells (width, height = 0)

Reset_to_defaults()

Reset to default settings : All layers loaded as-is, all text loaded, file is loaded to memory

class QisMFileLoadCtrlV2

Extension (version = 2) for QisMFileLoadCtrl

Set_preprocess_spec

Get_preprocess_cmd

Get_preprocess_spec

Get_preprocess_file

Setup a pre-processor that will generate a new GDSII file which will then be loaded to create the database

struct QisMLoadProc1

A pre-processor that generates a semi-flat GDSII based on operation on the source such as -- clipping, sizing, corrections and transformation

CMD_NAME

Represents the pre-processor name

K_CELL

Specify the view (top) cell from the source

K_BUTTING_UM

Polygons with holes will be represented as a pair of butting polygons with a specified overlap in UM

K_CONVEX

All output polygons are convex in X & Y

K_SIZING_UM

Apply sizing (edge compensation) to the output polygons along X and Y in UM.

K_MAXVERT

Specify the max. number of vertices for any output polygon (3 <= max. vert. <= 8190)

K_CORRX_UM

Apply bi-linear corrections on the source polygons based on points where a correction/distortion is measured

K_XFORM

Apply affine transformations (scale, rotation, mirror, translation and shear) to the source polygons

K_XFORM_SCALE

Apply scaling along X (first value) and Y (second value)

K_XFORM_TXY_UM

Apply translation along X (first value) and Y (second value) in UM

K_XFORM_ANGLE

Apply rotation in degrees

K_XFORM_FLIP

Apply mirroring along X or Y or both

K_XFORM_SHEAR

K_CIRCLE_UM

Detect repeating polygons that are circles based on a max. chord error in UM

K_JITTER_UM

Specify a max. jitter (slop) in UM to treat two boundaries as identical

K_MIN_REP

Specify the min. number of repetitions for a repeating boundary to constitute a separate 'pattern' (cell)

K_NO_AREFS

Disable array (uniform repetition a.k.a lattice, along X and Y)

K_TILE_V

The data space is partitioned into tiles for multi-threading. Specify the heuristic for partitioning based on the est. number of vertices crossing any given tile

K_NT

The data space is partitioned into tiles for multi-threading. Specify the number of tiles to be processed in parallel

K_NP

The data space is partitioned into tiles for multi-threading. Specify the number of threads to be used per tile for certain operations

K_TILE_ROI_UM

Specify the region of interest in UM. Output polygons will be clipped against this ROI

K_TILE_DBG

Output the partitioning tiles as boxes on the specified layer for diagnostics

K_ACSV

K_ACSP

Provide OEM string and key file path for Trusted/OEM based licensing

struct QisMLoadProcOAS

A pre-processor that translates an OASIS file to GDSII record-by-record with options for filtering

CMD_NAME

Represents the pre-processor name

K_MAXV

Specify the max. number of vertices in any output polygon (boundary or path) maxv={4 <= n <= 8190} by breaking larger polygons into smaller ones

K_DROPCELLS

Drop select cell (definition and references) based on regular expression dropcells={separator}{doslike_regex}[{separator}{doslike_regex}]*

K_LAYERMAP

Filter or re-map layers in the output

F_NOTEXT

Do not output OASIS TEXT records

struct QisMLoadProcHEXT

A pre-processor that creates a database from a hierarchical extraction of a GDSII/OASIS/DBLOAD file

CMD_NAME

Represents the pre-processor name

K_CELL

Specify the cell to be extracted. This will become the top cell in the output (database)

F_NOPATHS

Convert paths to boundaries

K_TOPNAME

Rename the top cell in the output (database)

K_NAMEMOD

Modify the name of every cell in the output (database) by adding either a prefix or a suffix or both

K_SCALE

Scale the output (database) by the specified amount (>0.0)

K_ANGLE

Rotate the output (database) by the specified amount

K_TRANSLATE_UM

Translate the output (database) by the specified amount (in microns)

F_FLIPY

Mirror the output (database) about X

K_LAYEROFFX

Offset every layer and datatype number with the specified amount

K_CLIP_BOX_UM

Clip the data to the specified box (in microns)

K_CLIP_POLY_UM

Clip the data to the specified polygon (in microns)

K_CLIP_RND_UM

Clip the data to the specified circle (in microns)

class QisMFile

The API to work with a file loaded into the database

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived)

Get_last_error_msg()

Get more information about the last error condition in form of an error string

Get_file_path()

Get the path on disk for the file currently loaded into the database

Get_default_top_cell()

Get the name of the default top cell in the file (top cell with the deepest hierarchy tree that is automatically set as the view cell when the file is loaded)

Get_cell_list()

Get the list of cellnames loaded into the database

Get_top_cell_list()

Get the list of top cellnames loaded into the database

Get_non_top_cell_list()

Get the list of cellnames loaded into the database that are not top cells (they are being referenced by at-least one other cell)

Get_cell_children_list()

Get the list of names for cells being referenced (child cells) by the specified cell

Get_cell_extents()

Get extents (min-max box) of a cell

Get_layer_list()

Get a complete list of layer and datatype pairs currently loaded into the database

Free_cell_list()

Release the memory allocated to store a list of cellnames

Free_layer_list()

Release the memory allocated to store a list of layer or datatype numbers

Get_cell_index()

Identify a given cell with a unique number

Get_cell_name()

Get the cellname for a given cell identifier

Get_file_report()

Get file report (as a string)

Grid()

Get the size of a single database unit (resolution) in terms of the file units

Units()

Get the size of a single database unit in meters

Get_db_idx()

Reserved for internal use

Get_cell_layer_exploded_vertices()

Get exploded vertex counts for a specified cell and layer

Create_exploder()

Create an independent instance of the exploder to get vector data

Destroy_exploder()

Destroy an instance of the exploder

class QisMFileMemoryMaps

SaveAs_memory_maps()

Save a disk image of the current QisMFile database in form of memory maps

typedef QisMFileV2

class QisMFileV3

Parent()

Get a handle to QisMLib

QisMFile commands

See qismfile.h for relevant C++ API

file.copy_to

file.print_report

file.get_default_cell

file.print_cells

file.print_top_cells

file.print_child_cells

file.get_cell_extents

file.print_layers

file.print_cell_tree

file.save_memory_maps

file.create_exploder

file.destroy_exploder


ARTWORK CONVERSION SOFTWARE, INC.
417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163  email: info@artwork.com

Last Updated -- Thu Jan 22 18:58:22 UTC 2026