QisMBoolFies Web Page Header


This is a sample application that utilizes the QisMLib library and the QisMBoolFiles extension library to open two separate files and perform a Boolean operation on a number of specified windows.

Command Line Syntax

qismboolfilesapp +inputA:{file-A} +inputB:{file-B} +outdir:{output-dir} +op:{operation} [OPTIONS]


+inputA:{file-A}                  path and filename of GDSII/OASIS file to process

+inputB:{file-B}                  path and filename of GDSII/OASIS file to process 
+outdir:{output-dir}              output directory where results are placed

+op:{operation}                   Boolean operation: {OR | UNION | XOR | AND | DIFF}


Windows/Tile Controls

-window:                          See variations below. If no -window is specified the
                                  cumulative extents of both files will be used.

-tiles:                           Generates windows based on parameters. See variations below.

-rand:                            Generates random tiles in a specified region of interest.

Cell/Layer Controls

-cellA:{cell-name}                view cell for file A. If not specified, the top level cell is 

-cellB:{cell-name}                view cell for file B. If not specified, it is set to the view 
                                  cell of file A.

-layersA:{layer-list}             a comma delimited list of layers to process. either specify 
                                  just a layer, or a layer:datatype combination. If not specified
                                  all layers in File A are used.

-layersB:{layer-list}             a comma delimited list of layers in File B to process. either 
                                  specify just a layer, or a layer:datatype combination. If not 
                                  specified the layers specified for File A are used.

                                  If ALL is specified then all layers of File B are used.

Output Controls

-layerO:{output-layer:datatype}   layer and datatype for the output polygons for all windows
                                  Default: 0:0

-cellO:{cell-name}                Name of the top cell for all output files. Default: TOP

-format:{GDSII | NONE}            GDSII: Generate flat GDSII output(s);
                                  NONE: No output files created
                                  Default: GDSII

-merge:{output-file-name}         Write all the windows to a single output file
                                  Uses dynamic-windowing to break large windows in order to boost 
                                  Output file type depends on the -format: option
                                  Final output file path will be:
                                  {output-dir} + {output-file-name} + {extension}
                                  Default: Each window is written to it's own output file

Thread Control

-ntw:{num-window-threads}         Specify the number of window/processor threads. Indicates 
                                  the number of  windows that will be processed in parallel
                                  Requires 1 license of QisMBoolFiles per window thread
                                  Limited to the number of licenses available
                                  Default: No. cores/2

-ntp:{num-threads-per-window}     Specify the number of threads per window for Boolean 
                                  operations. Not limited by license. Default: 2

Boolean Control

-noclip                           Do not clip polygons to the window extents
                                  Default: OFF. Polygons are clipped to the window extents

-sliver:{value}                   Remove polygons that are smaller then {value} specified in 
                                  file-units. Default: 0.0 (no sliver removal)

-maxvert:{max-vert-per-polygon}   Set a max. number of vertices per polygon (>=4 and <=8190)
                                  Default: 8190

Miscellaneous Controls

-silent                           Do not write any messages to stdout/stderr
                                  Default: Not silent 

-log:{log-file-path}              Enable logging and specify the log file path      
                                  Creates a new log file.

-log+:{log-file-path}             -log+ appends data if that file exists
                                  Default: No log file created

Download Revision History