ASM 3500 web page logo

Running DXF to GDSII In Batch Mode

Steve DiBartolomeo
Applications Manager
April 8, 2002
revised June 25, 2008



DXF to GDSII can be run from the GUI or from the engine's command line. The programs consist of two parts: the GUI which gathers the relevant information and the translation engine which actually does the work.

The GUI collects information such as the file name, structure, output file, and conversion parameters and launches the engine with a command line; it also builds an ASCII configuration file for the engine to read.

This app note describes how one would bypass the GUI and launch the engine directly; either from a script, framework or another program.

DXF to GDSII Direction

To convert DXF to GDSII execute the d2g.exe engine with the correct command line options and the required resource file.

1. Scan the DXF File to Get Layer Information

This step is not mandatory -- but in some cases the user has no idea what layers are present in the DXF file It will be helpful to first display the names of those layers, allow the user to control the mapping into GDSII numbers and to select which layers to translate. The d2g.exe engine can be run in "scan" mode where it does not do any translation but instead scans the DXF file and returns a list of layers and blocks used in the file.

Scanning a DXF File

d2g.exe <dxf input file> -lscan output_file 


d2g.exe                the translation engine

input_file             is the DXF input file name. use double quotes if
                       the path or name has spaces in it.

-lscan                 scan the DXF file. If no output_file is specified
                       then it will create one in the current directory
                       using the input_file_name and suffix .lyr.


"d:\wcad\asm3500\d2g.exe" "d:\test\planar.dxf" -lscan 

this would produce the ascii file planar.lyr in the current directory. If you wanted the output file to go somewhere else and have a different name you could use the command line:




         "d:\temporary files\planar.txt"

To see the contents of a lyr file click here

2. Build Up The Configuration File

The d2g engine reads an ASCII configuration file that contains layer mapping information and also translation controls. There are quite a few options, so details are available on the configuration page.

3. Run d2g.exe Engine

Note: the long command line is broken below for clarity. Do not place any CR/LF's in the command line.


     -gds D:\junk\qckvu\vector_test_from_dxf.gds 




"D:\wcad\Asm3500\d2g.exe"        the full path to the translation engine.
                                 You must double quote this if there are 
                                 spaces in the paths or file names.

D:\test\vector_test.dxf          the input DXF file to convert. 


-gds D:\test\vector_test.gds     the name (and path) of the output 
                                 GDSII file.

-cfg:"d:\test\sample.cfg"        the name of the configuration 
                                 file to use.

The following command line options are generally used:

-nolink                          do not link lines and arcs. or -link

-gap:0.001000                    if linking were on, this would be the 
                                 search radius around each line or 
                                 arc's endpoint.

Command line Arguments

In addition to link | no link, and the gap arguments there are:

 -emblevel                       if present, de-embedding is activated and
                                 the GDSII output is organized using data
                                 types to indicate the boundary's level of


 -deemb                          butting


 -demb_cut                       using cutlines

Directory Path and File Names

Notice that because all files referenced include the full path name, the required files could be located anywhere on the system. Warning - it has come to our attention that if very long path directories are used the command line interpreter may not be able to handle the total length and the engine may not run correctly.

417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163 email: