page header

QisMHExtractor API

The QisHMExtractor is used to extract a "window" or other "region" from a GDSII/OASIS layout file. However, instead of completely flattening the data during the extraction process, this class attempts to preserve as much hierarchy as possible -- often resulting in a much smaller output.

View the header file: qismhextract.h
QisMHExtract architecture

Setting Up the QisMExploder

Flags

ClipMode

Controls the behavior at the boundary of the clipping region.

CLIP_OFF=0           No clipping. Partially crossing boundaries, paths, refs are extracted as-is 

CLIP_PART_POLYS=1    Partially crossing boundaries are clipped, partially crossing paths are 
                     converted to boundaries and clipped, partially crossing refs are exploded 

DROP_PART_POLYS=2    Partially crossing boundaries/paths are dropped, partially crossing refs 
                     are exploded 

DROP_PART_DATA=3     All partially crossing entities are dropped 

The illustrations below show how the ClipMode would affect a group of polygons.


ClipMode=0 (CLIP_OFF)

In this mode, no clipping is done. Any polygon which is contained or crosses/touches the clipping boundary is retained.

no clip

ClipMode=1 (CLIP_PART_POLYS)

In this mode, any part of a polygon (or path) that crosses the clipping boundary is clipped off.

clip crossing polys


ClipMode=2 (DROP_PART_POLYS)

In this mode, any poly that touches/crosses the clipping path is completely dropped in the output.

drop partial polys


FileFormat

Controls the output file format

FMT_GDSII=0          Output GDSII file

FMT_OASIS=1          Output OASIS file

FMT_COASIS=2         Output compressed OASIS file 
                     At the moment, same as FMT_OASIS


hextractor64.exe Command Line

The Hextract tool is also available in command line mode as ${install}/artwork/hextractor64.exe - You can use it to extract data from a GDSII/OASIS/DBLOAD file to GDSII/OASIS.

The command-line description can be found here: hextractor64.exe Command Line Page