web page header logo

ODB++ How Data is Organized into Steps

The ODB++ database is organized into steps. These define hierarchical relationships between geometries. The most common use of steps is to create an array of circuits to form a panel and to drop into the panel additional geometries for alignment and calibration.

An ODB++ file must have at least one step.

single step
The geometries of a circuit are normally grouped into a single step.

To produce a panel the ODb++ file normally contains two steps - a parent step which refers to the circuit step as many times as needed to fill the panel. The parent step can also contain geometric entities such as alignment marks and tooling holes.

In the image at right, there are two steps: panel (red) and circuit (black). The panel step contains 12 references to circuit. It also contains geometric elements used to define the border, the tooling holes and the panel ID.

There is no upper limit on how many steps can exist in a ODB++ file and it is possible to have more than one pyramid of steps. However in most cases there is one top level step that references one or more child steps.

When calling the ODB++ raster library it is necessary to select a single step to process - any children referred to by that selected step will also be processed.


When the ODB_RIP opens an ODB++ database it returns to the user a data structure that contains:

    a) the steps found in the database

    b) the extents of each step (using the step's profile)

    c) the number of different "children" steps referred to

    d) the list of layers (and each layer's type)

This allows the client application to present the end user with information about the available steps and layers so that one step and one layer can be selected for rasterization.


PCBs have multiple physical layers each which requires at least one mask to produce. The ODB++ data format assigns each geometry a layer property or attribute so that they can all be plotted to a film (or otherwise imaged onto the substrate.)

In order to call ODB_RIP and produce an image, the calling application must select one step and one layer. The calling program can obtain a list of steps, their extents and their "children" along with a list of layers and present that information to the user.



Frequently Asked Questions

Revision History


417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163 email:  info@artwork.com