ODB to GDSII/OASIS Web page header

Program Settings

The behavior of the ODB2GBR program is controlled by the parameters in the Settings Dialog. This dialog is launched from the main menu.

advanced settings dialog - settings tab

Settings Tab

Working Directory

The directory where temporary and intermediate files are written to. The output GDSII/OASIS file is also written here unless the user defines the output directory.

SR Opt

Optimizes step repeat, where the software combines SR child steps together when possible. This is the default behavior. There is an option to turn it off because sometimes child steps overlap each other and combining it might produce an error with scratch data.

Show Progress Bar

If checked, the main conversion engine sends progress information back to the GUI which displays progress in a window. If unchecked this behavior is suppressed.

Keep Temp

If checked, temporary files are not deleted upon closing the program. Normally this is used when debugging.

Thread Num

Some of the modules in the ODB2GBR converter are multi-threaded. If your machine has multiple CPUs then setting this value equal to the number of CPUs (or cores) will improve performance on large files. Default=1. Many Boolean operations are performed during conversion and multi-threading greatly speeds up the Boolean computations.

Open Args

special arguments passed to front end that handles file opening. Not normally used except when debugging.


GDSII output units can be specified. Most ODB++ files are created in units of inches or mm. Resolution um=5.3, mm=3.5, cm=2.6, inch=2.6, mil=5.3

Out Scale

Arc Resolution

ODB++ makes extensive use of arcs in the data - GDSII has no arc entity. Therefore arcs must be broken into a series of small segments. This parameter allows the user to specify the angle subtended by the chords used to approximate the arc.

Chord Error

ODB++ makes extensive use of arcs in the data - GDSII/OASIS have no arc entity. Therefore arcs must be broken into a series of small segments. This parameter allows the user to specify the error between the arc and the approximation. The number of segments in each arc is adjusted to meet this error value. Set this value after setting units.


If needed, the output data can be scaled. The default is 1.00 but small values such as 1.02 or large values (5X, 10X) can be used to stretch or shrink the output data.

Max Points

The maximum number of vertices per boundary in the output GDSII/OASIS file. If a polygon will exceed this number it will be broken into two (or more) polygons so that the max vertex count is not exceeded. Based on the GDSII record size, max points cannot exceed 8191.

Convert Args

Special arguments to control the output (for debugging purposes).


Specify the path/program name to launch in order to view the GDSII/OASIS files. If it's not specified, you will be prompted to select a viewer when you try to view the output.

Butting Edges

Islands can be realized in the GDSII format in two ways: a) using a "re-entrant" polygon with cut lines or b) slicing the island into polygons with butting edges. The default is to use re-entrant polygons. If this button is checked the program will slice polygons horizontally to deal with islands.

Filter Text

Filters out text from the output.

Filter Barcode

Filters out barcode from output.

G2K Settings Tab

ODB supports g2k arguments which define emulation mode for certain plotter manufacturers. This controls in this menu allows the user to select which kind of emulation to use when converting ODB++ files to Gerber. This mostly effects scaling and mirroring.

odb2gds G2K Settings dialog

G2K Emulation

Most users should select None. The other 3 emulations were created for a specific client who required control of a specific range of photoplotters.

Emulation Mode Ver1

Allows the user to perform Scale, Rotation, and Mirror based on Anchor Datum set to the Profile Center.
Does not allow the use of SF, IR, MI, IP, IO commands in the output Gerber file.
Assumes that mirror occurs before rotation.

Emulation Mode Ver2

Similar to Ver1 but does not break STEP and REPEAT.

Emulation Mode Ver3

Version 3 has additional transformation options enabled.
Translation - No Mirror - Don't perform mirror during the conversion.
Translation - Rotate Mirror - Perform rotation first and then mirror.
Translation - Mirror Rotate - Perform mirror first and then rotation.
XY Scale - User can define a different scale along X and Y.
Anchor - User defined anchor point for the scaling.
Offset - User defined offset along X and Y.

OASIS Settings Tab

This tab controls the conversion to OASIS

odb2gds OASIS Settings dialog

Compress Oasis

When checked, the OASIS output will be compressed using CBLOCKs and modal compression. Compression ratios of 20x and more are typical.

Optional Arguments

Enter optional arguments here for controlling the OASIS output. (For debugging purposes only)

Linux Settings

On Linux operating systems the default settings are stored and read from the user's home directory. Look for a file named <home>/.artwork/odb2gds.Xdefaults.

ODB2GDS.InputType:      0
ODB2GDS.ReadOnly:       1
ODB2GDS.CombineOut:     0
ODB2GDS.Output: /home/millen/test/odb2gds/examples
ODB2GDS.ShowProgress:   1
ODB2GDS.ThreadNum:      8
ODB2GDS.KeepTmp:        0
ODB2GDS.Unit:   0
ODB2GDS.OutScale:       0
ODB2GDS.ArcRes: 45.000000
ODB2GDS.ChordErr:       0.000500
ODB2GDS.Scale:  1.000000
ODB2GDS.CircMap:        100
ODB2GDS.MaxPts: 8191
ODB2GDS.NoText: 0
ODB2GDS.NoBarcode:      0
ODB2GDS.Butting:        1
ODB2GDS.G2KStepRepeat:  0
ODB2GDS.G2KOrder:       0
ODB2GDS.G2KScale:       0
ODB2GDS.G2KScaleXY:     0
ODB2GDS.G2KScaleX:      1.000000
ODB2GDS.G2KScaleY:      1.000000
ODB2GDS.G2KAnchor:      0
ODB2GDS.G2KAnchorX:     0.000000
ODB2GDS.G2KAnchorY:     0.000000
ODB2GDS.G2KOffset:      0
ODB2GDS.G2KOffsetX:     0.000000
ODB2GDS.G2KOffsetY:     0.000000
ODB2GDS.GDSStruct:      TOP
ODB2GDS.GDSWin1:        0.000000
ODB2GDS.GDSWin2:        0.000000
ODB2GDS.GDSWin3:        0.000000
ODB2GDS.GDSWin4:        0.000000