Artwork's GDSFILT program consists of two main parts: The user interface (gdsfilt.exe) and the actual computation engine (gdsfilte.exe) and its supporting DLLs.
To use the gdsfilt engine from another application you need to know how to call the engine directly. We show a simple example below.
Windows and Linux take the same arguments with the exception that Linux paths use the forward slash (/) and Windows paths use the back slash (\). Further, the windows command line requires an additional argument -unixcmdline (after the input file, output file and input structure arguments for legacy reasons.
gdsfilte.exe input_file output_file input_file_structure -unixcmdline[1] [options] where: gdsfilte.exe full path to the engine. input_file full path (unless located in current directory) to the input GDSII file. output_file full path to the output file (if only a file name is supplied it will be written to current directory) input_file_structure the name of the input file structure you wish to process. If you use = then the program will determine the top structure automatically, choosing the top level structure with the most references below it. [1] -unixcmdline this argument required for Windows due to legacy issues. Do not use it on the Linux OS. options are: @response.txt The response file contains the command line arguments. Example -q Quiet mode. Does not send messages to the console -silent suppresses progress messages -pause do not pause at banner. -prune trim off all empty trees. This deletes any structure definitions and references to them if they don't contain data. -explode flatten (explode) the structure hierarchy in the output. -prefs preserve all structure references. -log:/tmp/test.log Save a log file in the specified directory and file name Layer and Datatype Filtering Parameters -iM,N,... Include only layers M,N,... on output. -xM,N,... Exclude only layers M,N,... on output. -IM,N,... Include only datatypes M,N,... on output. -XM,N,... Exclude only datatypes M,N,... on output. -lyrM:N,... Remap layer range M to N. -dtpM:N,... Remap datatype range M to N. -mapM%N:m%n,... Remap layer:datatype(s) M:N to m:n. This requires special syntax on Windows/DOS because the the command interpreter would treat the % as a variable. So you would need -mapM%%N:m%%n, ... to escape the percent sign to the command interpreter. Large File Settings -maxref:M drop REFs after M sref or arefs. -max:M expect at least M structures. (2048) default. Filtering Entities by their Characteristics. -min:W discard paths and text with width less than W. -tmag:M discard text with magnitude greater than M. -short:X remove path and boundary segments shorter than X. -textonly output TEXT only. (this option forces an explode) +text don't drop TEXT in the output (forces an explode) die clean options (requires a separate license) -maxext:X remove geometries with extents more than X. (forces an explode) -minext:X remove geometries with extents less than X. (forces an explode) -h2w:X remove geometries with height to width ratios more than X. (forces an explode) -w2h:X remove geometries with width to height ratios more than X. (forces an explode) -aratio:X remove geometries with area coverage less than X. (forces an explode)range [0-1] -maxvert:X remove geometries with more than X vertices. (forces an explode) Combining/Merging Files -merge f1 f2 ... fn merge files f1, f2 ... fn with <inputfile>. (exclusive) -add f1 f2 ... fn add files f1, f2 ... fn with <inputfile>. (exclusive) -blend f1 f2 ... fn blend files f1, f2 ... fn with <inputfile>. (exclusive) -combine newtop s1 ... sn insert structure topstr, s1 ... sn into newtop. (blend not allowed) -offset X0,Y0 X1,Y1 ... Xn,Yn insert structure topstr, s1 ... sn using the offsets. (available together w. combine only) File Conditioning Parameters -strict[!] filter stream data to adhere better to strict GDSII. -names repair all dubious structure names. (exclusive) -lc change all strings to lower case. (implies -names) -uc change all strings to upper case. (implies -names) -unfold "fix" dubious paths that self intersect. Filtering Using an external List of Structures -rename fn use file fn to do name translations. -remove fn remove structures listed in file fn. Regular Expressions are supported. -only fn file fn holds list of the 'only' structures to be output. Special Parameters for NETEX only. -tech fn read the tech file fn. -netcfg fn read the netex config file fn. -netinfo fn use file fn for net names. -netdebug run in netdebug mode. -flag_multi_netnm flag and do not rename nets with multiple names. -merge_nets do not merge named nets. -add_net_text insert net names into named nets. -printnetinfo:L use level L as net text logging. -netxplode f topstr generate netinfo file from f and its topstr -netalias fn create netId structure alias file fn. -phase[A|B] run in netex phase A or B modes. Statistical Parameters -fpchk[:N] generate floating point (FP) statistics (N is OR of 1,2,4 corresponding to HEADER, REF, TEXT info). -memstats[:mm] Output memory usage & run time info [every mm minutes, default = 15]