Hextract Web Page Header


HExtract Examples

Below you will see examples of various useful functions that can be performed using HExtract.



Extract a Window from GDSII Layout...

Extract a hierarchical file from a GDSII layout. All layers.

hextract64 input.gds output.gds -window:500,550,600,650


Extract Multiple Windows from GDSII Layout...

Extract multiple windows from a GDSII layout and save output to one GDSII file. All layers.

hextract64 input.gds output.gds -windows@windows.txt

Here are the contents of windows.txt - each line contains lower left and upper right coordinates separated by comma.

0,0,200,200
0,2400,200,2600
2750,2400,2950,2600
2750,0,2950,200
1000,1000,1300,1300


Extract a Window from an OASIS Layout...

Extract a hierarchical file from an OASIS layout. All layers. The program autodetects that the input file is OASIS. Output is always in GDSII format.

hextract64 input.oas output.gds -window:500,550,600,650


Extract a Cell and its Children ...

Extract a cell (and its children) from a GDSII file.

hextract64 input.gds output.gds -cell:MYCELL


Extract a Cell and its Children ... control top cell name

Extract a cell (and its children) from a GDSII file. Make the top level cell in the output file:TOPCELL

hextract64 input.gds output.gds -cell:MYCELL -top:TOPCELL


Extract Selected Layers to a New File

Let's say you need only layers 31,33,35,37 and 39 in your output file.

hextract64 input.gds output.gds -layers:31,33,35,37,39


Flip/Mirror a GDSII or OASIS File

The following command will mirror the input GDSII file and save it to output file.

hextract64 input.gds output.gds -flipY


Separate Data Types into Layers

Let's say you have data on 31:0 and 31:10 and you want this on two separate GDSII layers (31 and 310) because your target system does not support datatype discrimination.

hextract64 input.gds output.gds -layers:31:0-31,31:10-310


Separate Data Types into Layers and Pass Through Layers

Let's say you have data on 31:0 and 31:10 and you want this on two separate GDSII layers (31 and 310) because your target system does not support datatype discrimination. At the same time, you want to pass layers 1 and 2 as is to the output file..

hextract64 input.gds output.gds -layers:31:0-31,31:10-310,1-1,2-2


Filter Out Datatypes

Let's say you have data on 31:0 and 31:10 and you just want to get rid of the data on 31:10. Use the NULL destination to make 31:10 disappear.

hextract64 input.gds output.gds -layers:31:0-31,31:10-NULL


Merge Layers Together

Let's say you have data on 14 and 17 and you want it all on layer 17.

hextract64 input.gds output.gds -layers:14-17,17-17


Divide Layout into Tiles of 100 x 100 um

Let's say you need to divide the data on layer 39 into 100 x 100 um abutting tiles.

hextract64 input.gds output.gds -layers:39 -tilesz:100,100


Divide Layout into an array of 20 x 20 tiles

Let's say you need to divide the data on layer 39 into 400 tiles: 20 along X and 20 along Y.

hextract64 input.gds output.gds -layers:39 -tile:20,20


Extract Pad Ring by using Complement of Core Region

An easier way to extract the pad ring is to select the core region and complement it ...

hextract64 input.gds output.gds -window:1000,1000,9000,9000 -complement


Drop any Cells using a Regular Expression

Consider the case where one wishes to remove all dummy metal fill from a layout and one knows that dummy metal cell names all end in _DMx. A unix regular expression can be used to instruct HEextract to ignore any cells for output that match.

hextract64 input.gds output.gds -ignorecell_expr:unix,^.*_DMx$


Drop any Cells using a Regular Expression

Consider the case where one wishes to remove all cells that have the expression "VIA" in them anywhere in the cell name.

hextract64 input.gds output.gds -ignorecell_expr:unix,^.*VIA*


Extract from QIS Load Cache

Extract hierarchical data from QIS Load Cache File (created from a GDSII file using Artwork’s Cache File generator). The program auto-detects that the input file is a QIS Load Cache File.

hxtractor64 ${input_dir}/input_file.gds.load.b64${output_dir}/output_file.gds
  • All supporting files (input_file.gds.scan.b64 and input_file.gds) must be present in the same directory (${input_dir}) as the QIS Load Cache file.
  • The QIS Load and Scan Cache files must be compatible with the corresponding GDSII file otherwise, the GDSII file will be used for extraction.
  • The names of the cache files must be preserved as they were at the time of creation.


  • Extract from QIS DbLoad Cache

    Extract hierarchical data from QIS DbLoad Cache File (created from a GDSII file using Artwork’s Cache File generator). The program auto-detects that the input file is a QIS DbLoad Cache File.

    hxtractor64 ${input_dir}/input_file.gds.dbload.b64${output_dir}/output_file.gds
  • The supporting file (input_file.gds.scan.b64) must be present in the same directory (${input_dir}) as the QIS DbLoad Cache file.
  • The names of the cache files must be preserved as they were at the time of creation.


  •   Download   Revision History   Price