last revised: 12/18/2016
BRD23D is a Windows command line program with the functionality to automate generating industry standard 3D data files from a Cadence Allegro board file.
The anticipated use model is to export the top conductor layer and the bottom conductor layer and to filter by net attribute. The resulting output can be checked against the location of heatsinks or housing clamps that might short out critical nets if they penetrated the soldermask protecting these conductors.
There is currently a version of BRD23D for Allegro 16.6 with plans to release a second version for Allegro 17.2. Each major version of Allegro requires its own SKILL context file since the versions are not binary compatible.
In addition to the BRD23D application's own program files, the installation package includes a number of other Artwork components. These are:
AWROut - extracts geometry from Allegro and outputs a 3Di file.
3Di2STEP - converts 3Di to STEP.
3Di2XT - converts 3Di to parasolid.
BRD23D is an executable that uses a combination of command line arguments and an ascii resource file to produce the desired 3D output.
BRD23D.exe [-h|-version|<board file> <options>] where -h Show this help message -version Show version information <board file> Input Allegro board file (.brd) BRD23D options: -progress Display a progress dialog box -job:<job file> Specify a job file to use instead of the default -log:<log file> Specify the location for the log file
The minimum syntax required for regular program operation is:
BRD23D.exe <board file>
BRD23D will attempt to complete all of the following steps:
If BRD23D encounters any unexpected state which prevents completion of these tasks, it will be written to the log file. A log file is always created. If not specified on the command line, the log file will be saved to the same directory as the board file. The log file name will be the same as the board file but with the extension .BRD23D.log. The log file also contains successful program completion, along with all configuration settings, command lines and locations of output files.
The BRD23D Job File
The job file is a Windows INI style ASCII file. The default job file contains extensive comments which describe how to use and configure the various options. For full details of the job file, please see the BRD23D.job file in the installation directory or click here.
What the Job File Controls
Using the job file directives, the user can control:
The temporary directory to be used for script and 3Di files.
The output directory to be used for STEP and X_T files.
The board file CONDUCTOR subclasses to be exported (layers).
The nets to be included or excluded.
Layer thickness override for TOP and BOTTOM layers.
Whether to export one file per layer.
Boolean unionization and arc recovery.
Output file names and formats.
The Allegro Script File
In order to extract geometries from the Allegro layout, BRD23D writes an Allegro script at run time and passes it to Allegro along with the .brd file. Here is what the script does:
Loads the AWROut program context.
Overrides the layer height, if this has been specified in the job file.
Runs the AWROut program.
Configure AWROut layer and net filters per directives in the job file.
Sets default AWROut settings for exporting 3Di files.
Exports 3Di file to the default location or to the location specified in the job file.
Closes Allegro when complete.
The Allegro script file is passed as a command line option when Allegro is started, along with the board file name; the location of the Allegro executive is defined by the CDSROOT environment variable.
The script file name will be the same as the board file with the extension .BRD23D.scr. It will be saved in the defined temporary directory, or the board file directory if undefined.
3Di is Artwork's own 3D format and used as an intermediary for the production of STEP and parasolid.
3Di files will be saved in the defined temporary directory, or the board file directory if undefined. The 3Di file name will be the same as the board file with the extension .3Di. If one file is created per layer then the layer names will be appended to the file name.
Conversion to STEP/parasolid
Depending on the options specified in the job file, the 3Di files exported from Allegro are passed as input to the 3Di2STEP and/or 3Di2XT translation engines. Any Boolean operations in the job files are passed as command line options to the engines.
All STEP and X_T files will be saved to the defined output directory, or the board file directory if undefined. The output file names will be the file name defined in the job file, or the board file name if that option is not defined. If one file is created per layer then the layer named will be appended to the file name.
Allegro Issues when Batch Processing
BRD23D is intended to be used in a batch processing environment. It cannot respond to any messages or dialog boxes presented by Allegro during the opening of a file.
It is possible that Allegro may block the BRD23D program flow if there are issues with licensing of the Allegro product, or message dialogs are displayed by Allegro to notify the user of information about the board file being opened. For example, if it was created with an older version of Allegro. For this reason, it is recommended that prior to using a board file with BRD23D, that the file be opened in Allegro and any necessary changes made to the file to ensure that this blocking will not take place. If Allegro does display a message dialog then dismissing the dialog allows BRD23D to continue. However, this requires manual intervention from the user.
Additionally, due to the nature of Allegro being run in batch mode, there may be some visual glitches in the display and Allegro may appear to hang, or AWROut progress dialogs may become hidden. Even when this happens, the operation is running in the background and should not be interrupted. Eventually, Allegro should complete and the Artwork translation engines will still run. At this time, there is no way to predict or control this behavior since Allegro is beyond our control.
Releasing the Artwork License
As with AWROut, there is a known issue with the key.exe program which supports licensing of Artwork SKILL-based products. The SKILL program is unable to kill the key.exe process which performs locking of Artwork licenses. Cadence had a planned fix for this bug but their last communication on this issue from April 2014 suggested it would only be updated in Allegro v17.0. For this reason, I would recommend using node-locked licensing. Otherwise, if floating licensing is used then the AWROut license may stay checked out until the key.exe process is manually killed by the user.