web page header logo

ODB++ to Gerber Revision History

This page contains the summary of odb2gbr release dates, versions and changes/fixes made for that release.



Version 2.25 Windows    7/24/2017

Dynamic Text Fix

Fixed issue where some dynamic texts are not being converted properly. They are tied to V8 ODB++ where attributes can be tied to more than one class of thing unlike the V6 specification which allows only one.



Version 2.24 Windows    6/21/2017

Software Updates

Added "-cir_map_min_cnt:[val]" option to control the surfaces that will be converted to round flash. The default is 100 where if there are at least 100 round surfaces of the same diameter, they will be converted to a round flash. If it is set to zero, the round surfaces will not be converted into round flashes.

Fixed stackup layer output to NJB (for NetexG).

Added "-outinfo:[full_path]" option to create an output file that stores stepinfo or steplist and layerlist.

Added "-netlayers:[full_path]" option to create an output file that stores the list of steps and net specific layers.

(5) Uses QT for popups.



Version 2.22 Windows    2/28/2017

Software crash on Win XP

Fixed the synchronization error that was causing a crash on Windows XP when the optional argument "-nocopyin" was used.


Version 2.23 Windows    4/21/2017

Software Updates

Fixed text issue where the offset and width of a character is off.

Fixed barcode issue where the text inside the barcode is off in the Y direction.

Fixed thermal issue where the spokes were too narrow.



Version 2.22 Windows    2/28/2017

Software crash on Win XP

Fixed the synchronization error that was causing a crash on Windows XP when the optional argument "-nocopyin" was used.



Version 2.21 Windows    2/15/2017

Software Updates

Ignore invalid lines when reading the netlist or tool list.
Fixed the issue where conversion crashes as the result of trying to render an empty string.
Updated the sample code to make use of the progress functions.



Version 2.20 Windows    9/29/2016

Software Updates

Fixed relative path issue.
Major update for LINUX builds.
Added Qt based progress. Qt libraries QtCore4.dll/libQtCore.so.4 and QtGui4.dll/libQtGui.so.4 are added in the installation.
The library obd2gdx.dll has six new callback functions that need to be defined by programs using the library: NOdb2GdxCB_InitPrgsDlg, NOdb2GdxCB_ExitPrgsDlg, NOdb2GdxCB_SetPhaseInit, NOdb2GdxCB_SetPhaseTitle, NOdb2GdxCB_IncrementPhase and NOdb2GdxCB_IsCancel. These functions are declared at the included header file acs_odb.h.


Version 2.19 Windows    8/9/2016

Software Updates

Added option to disable sr optimization -nosropt (for ODB++ files where child steps overlap).
Calculate dcode start values on the fly (to minimize the dcode values when there are many).
Add multi layer selection and combine multiple layers in ODB2GDS.


Version 2.18 Linux    3/8/2016

Software Updates

Stripped the library and command line off of Motif and X11 libraries.
Fixed the scripts to support long path. Entire argument should be in quotes:
"-job:`pwd`/dir name"
Fixed the NJB issue.
Long path or path with spaces is not supported by the GUI's file selection dialog.
Full path is required for the command line and XML input.


Version 2.17 Linux & Windows    3/3/2016

Software Updates

Speed improvement on ODB++ files that has a lot of symbols.
Discards invalid symbol definitions inside a feature file.
Fixed issue with feature file's pkzip compression.

New command line executable odb2gbr_cmdlne

Added a command line executable odb2gbr_cmdlne (no-X) in the bin directory.  
The relevant options are:

-job:[odb_path]                       sets the ODB++ input (required)
-workdir:[out_dir]                    sets the working directory (required)
-outdir:[out_dir]                     sets the output directory (required)
-step:[step[,layer1,layer2,..]]       sets the step and layers to be converted (required)
-step_repeat                          enables step repeat of the output (recommended)
-odb_symbols                          enables macro for user defined symbols (recommended)
-non_std                              evaluate non-system defined attributes (recommended)
-thrnum:[+thrnum_int_val]             sets the max thread to use during conversion (recommended)

-unit:[inch|mm]                       sets the GBR output unit (default is inch)
-arcres:[res_dbl_val]                 sets the arc resolution (default is 9.0)
-arcsag:[sag_dbl_val]                 sets the chord error (default is 0.0)

-netex                                must be used with -njb
-njb[:[njb_fname]]                    creates the specified njb file name in the output directory
-format:[fmt_dbl_val]                 sets the GBR output format (default is 2.6)
-scale:[scale_dbl_val]                sets the scale (default is 1.0)
-butting                              enables butting edge output instead of cutline
-keep_tmpfiles                        keeps temporary files
-exclude:[step1,step2,...]            excludes specified steps
-excludel:[layer1,layer2,...]         excludes specified layers


Version 2.16    2/5/2016

Software Updates

Fixed bug when reading ODB++ input with MM specified features.
Added support for dielectric layers.


Version 2.14 Linux    12/15/2015

Software Updates

Fixed an installation library issue and missing text file from the software release.
Updated the ODB++ reader to the latest version.


Version 2.15    10/17/2015

Software Updates

Fixed the issue where the program fails opening an ODB++ file. This is caused by mismatched path lengths that is causing memory errors.
Updated 64bit product ID.


Version 2.14    9/27/2015

Software Updates

Fixed issue where out_scale was not applied to text.
Fixed issue where text is not converted in MM.
Removed patch on outlines.
Fixed issue where conversion fails if the input has extra files not defined in ODB++ spec.


Version 2.13    2/22/2015

New option -g2k_scalexy

Added option -g2k_scalexy:xval,yval to override .out_x_scale and .out_y_scale in the attrlist file.
This must be used with the option -g2k_scale_mode.
This option can be specified in the command line or can be specified in the G2K Settings tab under the scale mode options.


Version 2.12    2/1/2015

g2k_scale_mode Problem

Fixed a bug where the output is incorrect using the option g2k_scale_mode when top step has no data.


Version 2.11    12/19/2014

Round Surface Mapping

Fixed bug that creates a zero width dcode. The problem was in mapping round surfaces to round pads.


Version 2.10    10/16/2014

Soft key

Fixed bug in reading softkey arguments with spaces embedded.


Version 2.09    7/6/2014

Upgrades and Bug fixes

Added -acsk option in the softkey support.
Improved timing report in the log file.
Updated gds2oasfrac and bool.


Version 2.08    4/7/2014

Upgrades and Bug fixes

Added softkey support.
Fixed a bug that causes some files with a large number of vertex count to crash during translation.


Version 2.07    10/17/2013

Upgrades and Bug fixes

The following fixes and updates have been implemented:
Fixed paint and scratch bug for GDS/OAS output.
Added the optional argument -odbargs fore debugging.
Removed rotation correction of bottom component if it's already mirrored
The modules in this package have been updated to VS2008 compile
Added VC Redistributables in the install


Version 2.04    12/17/2012

Misc Bug fixes

Here are the fixes done with this version:

  • Fixed character size issue (06_20121025) where the output text size is larger than what is shown in valor.
  • Fixed barcode size issue (01_20120607) where the output barcode size differs from valor.
  • ODB2GBR specifies SOLDERMASKTOP and SOLDERMASKBOT in the NJB file when used in conjunction with Netex-G.

  • Version 2.03    12/3/2012

    Misc Bug fixes

  • Reduced the layer count of the output GERBER file.
  • Fixed line width issue where the center line width in the window is thicker. This was caused by a bug in placing a negative pad in the wrong order.
  • Fixed dynamic text issue where a dynamic attribute text was not converted. This was caused by a bug in converting system attribute texts.
  • Fixed polygon draw issue where a polygon was dropped from the output file. This was caused by a bug in converting polygons with holes bigger than islands.
  • Fixed dynamic text issue where an attribute text that has a "%" character was dropped. This was caused by a bug in reading the value of attributes with "%".

  • Version 2.02    9/21/2012

    Misc Bug fixes

    Here are the fixes done with this version:

  • Fixed Windows XP 64bit conversion failure.
  • Added support for zipped ODB++ input.
  • Fixed a bug where importer fails to decompress an ODB++ TAR file. This was caused by incorrectly translating an octal value into its decimal value.
  • Fixed a bug where importer fails to import an ODB++ file that has resize factor in its feature files. The bug is caused by incorrectly reading features with resize factor into the database. This release involves scaling rather than true resize (Valor's method).
  • Fixed a bug in reading component file that references an empty attribute text string, it is now set to NIL if the attribute text string is empty.

  • Version 2.01    7/3/2012

    Bug fix for line using custom symbols

    Fixed the line draw issue caused by drawing a line using custom symbols with negative and positive pads. This is fixed by drawing the line using the custom symbol's pads alternately.

    Dynamic text issue

    Fixed the dynamic text that was not translated. This is caused by the translator expecting an attrlist file from a step which did not exist.


    Version 2.00    June 22,2012

    Overlapping user defined symbols

    Fixed a bug in drawing user defined symbols that overlap. This bug was caused by layer optimization, the order of scratch and paint data were incorrectly drawn.


    Version 1.99    June 13,2012

    Line Draws with Symbol

    Added support of line draws using symbols other than round or square.


    Version 1.98    May 11,2012

    Barcode support

    Added barcode support.

    Polarity issue

    Fixed the polarity issue where the polarity of a negative symbol nested inside another negative symbol is not generated properly.


    Version 1.97    April 19,2012

    ODB++ File with Read-Only Compressed data

    Fixed the readonly issue where ODBRIP fails to open ODB input with read-only compressed files.

    Polarity Issue

    Fixed the drawing polarity issue where a negative data is drawn as positive.


    Version 1.96    April 3,2012

    Week number

    Fixed the week number issue where the output week number differs from VUV.

    Rotated Standard Symbols

    Added support of rotated standard symbols.


    Version 1.95    January 30,2012

    ODB++ with GZ files

    Fixed bug in reading ODB++ with GZ files.

    New -nocopyin option

    Added a -nocopyin option to open the input ODB++ directory as-is. The input directory and sub-folders must be writable. It must be noted that when using this option, the input ODB++ directory will be modified directly by the program.


    Version 1.94    December 6,2011

    Symbol Error

    This version resolves issue #188 (Symbol Error) where a symbol is drawn as a moire with invalid parameters. This is caused by a bug in reading custom symbols that begin with a number.

    Gzip compressed features

    Gzip compressed features are now supported.

    Speed improvements

    Speed improvement (up to 20x) on ODB++ input with complicated surfaces.


    Version 1.93    October 17,2011

    A few fixes

    This version resolves a few issues reported by different clients.

  • Modified the header file. Please recompile using the latest header (.h) and library (.lib) files included in the package.
  • Fixed a bug that resets the arcres/arcseg values.
  • Open doubly zipped input.
  • Removed error pop-up on Missing profile file and layer folders. Warning in the log file is issued instead.
  • Uses userattr file to interpret attributes.
  • Updated advanced dialogs.

  • Version 1.92    August 11,2011

    issue #184 - 274x Error

    This version resolves issue #184 (274x Error) in which the children steps are translated in the wrong order. This is caused by a bug when combining children steps.


    Version 1.90    June 3,2011

    Text and tar issues

    This version resolves font shx conversion issues (updated ODBFNT2SHX.DLL) as well as untar issues.
    It also contains the updates from v1.89 (new ODB2GDS and ODB2OAS conversion capabilities in odb2gdx.dll and odb2gbr_cmdlne.exe).


    Version 1.88    February 8,2011

    Issue 180 Dynamic Text Orientation

    Fixed issue #180 (Dynamic Text Orientation) where some of the orientation codes in the DAT output file is incorrect. This is caused by a bug in calculating the orient code of mirrored texts.

    Issue 181 Error sample

    Fixed issue #181 (Error sample) where ACS_createODBOutputDynTxt fails with option1 and ACS_getODBLastErr returns "memory access error" or "null". This is caused by a bug in the library definition and in setting the error codes.

    New feature - ACS_convertODBAttr

    Created a new function ACS_convertODBAttr that converts the coordinates of a given ODB++ step/layer/attributes combination without GERBER convertion.


    Version 1.86    January 7,2011

    New function - Dynamic Text Orientation

    Added the functionality requested as issue #171 (Dynamic Text Orientation) where: the final orientation is written in the "Emitted Text/Attribute" section of the DAT and PLT output files.

    Issue 172 - Missing ADandMO in 274X

    Fixed issue #172 (Missing ADandMO in 274X) where: the 274x header is not in the GERBER output. This issue is caused by adding the 274x header information into the wrong GERBER output when the output directory is different in the calls to ACS_createODBOutputPlot, ACS_createODBOutputAttr and ACS_convertODBInput.

    Issue 173 - Plotstamp output in 274x

    Added the functionality requested as issue #173 (Plotstamp output in 274x) where: features that has the attribute ".orbotech_plot_stamp" is omitted from the GERBER output if "-plotout" option is specified on conversion or on the call to ACS_createODBOutputPlot function.

    Issue 174 - Surface coordinate

    Added the functionality requested as issue #174 (Surface coordinate) where: the surface feature's center coordinate is used in the ATR output file.

    Issue 175 - Arc coordinate

    Added the functionality requested as issue #175 (Arc coordinate) where: the arc feature's center coordinate is used in the ATR output file.

    Issue 176 - Line coordinate

    Added the functionality requested as issue #176 (Line coordinate) where: the line feature's start point coordinate is used in the ATR output file.

    Issue 178 - 274x header repetition

    Fixed issue #178 (274x header repetition) where: the GERBER output's header information is repeated several times. This is the same bug that caused issue #178.

    Issue 179 - Dynamic Text Polarity

    Added the functionality requested as issue #179 (Dynamic Text Polarity) where: the final polarity is written in the "Emitted Text/Attribute" section of the DAT and PLT output files.


    Version 1.85    Dec 21,2010

    New function

    Created a new function to create a DAT (dynamic text) file without creating a GBR file (option 1): ACS_createODBOutputDynTxt

    Issue 169 - Attribute Error

    Fixed issue #169 (Attribute Error) where: attributes without values are not output into the ATR file.

    Issue 170 - Missing ADandMO in 274X

    Fixed issue #170 (Attribute Error) where: a rectangle without an attribute is not output into the GERBER file when cvtnonzero is set to false.

    Issue 172 - Attribute Error

    Fixed issue #172 (Missing ADandMO in 274X) where: the 274 header is not in the GERBER output.


    Version 1.83    Dec 15,2010

    Non zero pad

    The option to exclude nonzero pad is implemented.


    Version 1.82    Dec 12,2010

    Two new functions to create PLT or ATR file

    Created two new functions to create a PLT or ATR file:
    ACS_createODBOutputPlot and ACS_createODBOutputAttr

    Added two new arguments to create a PLT or ATR file from the dialog or the function ACS_convertODBInput:
    -attrout:attrname,0|1 and -plotout

    The usage of the two new functions and the two new arguments can be found in the acs_odb.h header file provided in the package.


    Version 1.80    Sep 9,2010

    Pattern Shift issue 166

    This release resolves issue #166 (Pattern Shift) where ODB2GBR's Gerber output is shifted up and is intersecting with other data.


    Version 1.79    July 19,2010

    Dynamic Text Issue 164

    This release resolves issue #164 (Dynamic Text) where ODB2GBR's dynamic text $$WEEK-DAY is not output in the dynamic info file (DAT).


    Version 1.78    May 17,2010

    Drawing Pad

    This release resolves issue #159 (Pad NG) where ODB2GBR's output was missing a scratch data.


    Version 1.77    April 22,2010

    Drawing Pad

    This release resolves issue #157 (Pad NG) where ODB2GBR's output draws a line with round dcode 0.001inch instead of 0.000 width.


    Version 1.76    April 7,2010

    Read Error

    This release resolves issue #154 (Read Error) where ODB2GBR fails to open a ODB++ files containing directories with windows reserved names. This was fixed.

    Log Dynamic Text

    This release resolves issue #156 (Log Dynamic Text) where ODB2GBR outputs dynamic text into the GERBER output even with the "log dynamic text info" option checked. ODB2GBR will no longer output dynamic texts into the GERBER output if the "log dynamic text info" option is checked.


    Version 1.75    March 30,2010

    PCB Numbering

    Issue #153 was fixed.

    Program crash

    The crash was related to the new dynamic text feature for a special case of Genesis emulation. This was fixed.


    Version 1.74    March 27,2010

    Dynamic text support

    First release of the ODB++2GBR with Dynamic text support.


    Version 1.73    March 4,2010

    64 bit

    First release of the ODB++2GBR with 64 bit support.

    Option "-nolog"

    The option "-nolog" to disable logging is added. This option should be passed into the ACS_openODB function. In the GUI, it should be specified in the Input Settings' Arguments.

    DLL Change

    The DLL has been changed. OEM users should now use the odb2gdx.dll instead of the odb2gbr.dll that is provided in the package.

    Header changes

    The headers acs_odb.h and acs_odb_structs.h have been changed. for OEM, please use the latest headers included in the package when compiling your own program. Also, please make sure that you use the error code variables defined in the acs_odb_structs.h header file since the values change when a new error code is added.


    Version 1.72    January 7,2010

    Improved Interface to Netex-G

    This release includes better integration to Netex-G.


    Version 1.71    November 24, 2009

    Added Interface to Netex-G

    This release includes an interface to Netex-G. ODB++2GBR users will now be able to generate the Netex-G job file along with the Gerber data for the metal, drill and component layers. The job file will also include the net information.


    Version 1.70    September 29, 2009

    Software hangs up on Windows 2000 Advanced Server

    This release resolves issue #146 (Hungup) where ODB2GBR hangs when opening the ODB++ file 95827-00.tgz on a Windows 2000 Advanced Server platform.

    The issue is caused by spawning too many threads when decompressing .Z files. ODB2GBR hangs while waiting for all of the threads to finish.

    This issue was solved by decompressing .Z files sequentially instead of concurrently.


    Version 1.69    September 22, 2009

    AM Macro error

    This release resolves issue #145 (AM Error) where: The macro (AM) definition does not exist for a declared aperture (%ADD28Symbol_laser_nai_mark_a*%).
    AM Error can be found in ODB++ files that potentially produce large numbers of apertures (greater than 9999). In order to minimize the number of aperture definitions, ODB2GBR sorts and remaps all unique apertures in its internal database. As a result of this remapping process, the macro in question was incorrectly tagged as 'being used'. Since it was tagged, it was not discarded at cleanup of unused apertures.
    This macro appeared definition actually appeared and was used in the feature file for the layer in question. However, because it contained scratch data, it had to be exploded and therefore does not appear explicitly in the Gerber output.

    This issue was solved by tagging apertures as 'being used' as they are output.


    Version 1.68    September 1, 2009

    Fail to open file

    This release resolves the file opening issue reported by Samsung.


    Version 1.67    August 31, 2009

    Fail to open file

    This release resolves issue 142 from Hitachi where ODB2GBR failed to open a valid ODB++ tar file.
    The problem was related to the fact that originally the TAR format did not support long path names. The TAR specification now supports long path names with two different mechanisms. ODB2GBR was upgraded to support that as well.


    Version 1.66    June 21, 2009

    Dynamic texts issues from Samsung

    This release resolves two dynamic texts issues raised by Samsung:

      Dynamic text $${JOB} is not translated but appears literally in the output.

      Dynamic text $$JOB is translated with a different job name than the job name specified inside ODB++ job/misc/info file, even though ODB2GBR v1.65's translation of $$JOB agrees with the Valor Viewer v7.3.2.0.


    Version 1.65    June 18, 2009

    Data lost

    This release resolves issue #138 (Data lost) where some of the ODB++ data were lost in conversion from ODB to GERBER.
    This issue was caused by confusion of a step and a symbol with the same name.

    Date dynamic text issue

    This release resolves issue #139 (Data lost) where the date dynamic text was not converted to the real-time date during conversion.
    This issue was caused by ODB2GBR’s inability to recognize a dynamic text string. $$Date-mmddyyyy was not recognized when checking for dynamic text because of the lower case ‘mmddyyyy’.
    In general, all dynamic text recognition was case insensitive, however, this was a special case where the string following $$Date- was not handled properly.


    Version 1.64    June 18, 2009

    Coordinate Error

    This release resolves issue #135 (Coordinate Error) where the ODB2GBR's output surface has a different width than in valor.

    NOTE:

    To enable this precision use the argument -format:2.7
    To avoid overflow use -format:2.7 for Inch and -format:3.6 for MM as the maximum.


    Version 1.63    June 18, 2009

    SR Command Control

    This release adds the control to output the SR command even if BreakSR is yes.
    If this mode is selected, the other commands are not output (IR, MI etc.).

    USAGE:

    1. In the GUI:
    In the G2K Emulator Dialog set BreakSR to Yes and check the Step and Repeat checkbox.

    2. In the command line:
    Pass both arguments "-step_repeat" and "-g2k_break_sr:1"

    3. In the function ACS_convertODBInput():
    Pass both arguments "-step_repeat" and "-g2k_break_sr:1" into the list of additional arguments (argv)


    Version 1.62    June 2, 2009

    Without extension

    This release resolves issue #136 (Without extension) where the output gerber file was missing header information..


    Version 1.61    May 18, 2009

    New command line -format

    The command line argument -format: has been provided to control the Gerber output Format.
    The default has been 2.6 for Inch output and 3.5 for MM output.
    We suggest that 2.7 format for Inch and 3.6 format for MM are safest maximum to use without generating overflow values..


    Version 1.60    April 21, 2009

    SR Error

    This release resolves issues 132 and 133 (Step-Repeat Error) where incorrect SR information was generated into a Gerber output.


    Version 1.59    March 2, 2009

    Memory Error

    This release resolves issue #129 (Memory Error) in which some allocated memory was not being freed.

    View Gerber

    This release fixes the View Gerber option in ODB2GBR.


    Version 1.58    Febraury 20, 2009

    Memory Error

    This release resolves issue #129 (Memory Error) where some allocated memory was not being freed.

    Several new functions to free memory can be found in the header file acs_odb.h which is included in the package.
    Because of the new functions, the library (odb2gbr.lib) has been changed. This means that you have to recompile any program that uses odb2gbr.dll.
    To compile, please use the latest odb2gbr.lib and acs_odb.h which can be found in the "lib" directory of the ODB2GBR's installation directory


    Version 1.57    Febraury 11, 2009

    Rotation Error

    This release resolves issue #126 (rotation error) where the ODB2GBR output file differs from the GENESIS Gerber output file when anchor is non-zero and step-repeat is on.


    Version 1.56    Febraury 2, 2009

    AM Error - 2nd fix

    This release resolves issue #127 (AM error) where some of the ODB2GBR output file's macros are incorrect.


    Version 1.55    January 28, 2009

    AM Error

    This release resolves issue #127 (AM error) where some of the ODB2GBR output file's macros are incorrect.


    Version 1.54    January 27, 2009

    Rotation Error

    This version resolves issue #126 (rotation error) where the ODB2GBR output file differs from the GENESIS Gerber output file.
    To revert back to the ODB2GBR v1.51 output pass the argument "-cc_ir" to:
    - command line: odb2gbr_cmdlne.exe "-job:sample.tgz" ... -cc_ir
    - ODB2GBR dialog: in the advanced dialog's arguments text box
    - function: ACS_convertODBInput

    All the possible arguments are listed in the header file "acs_odb.h" which is included in the package under the "lib" directory.


    Version 1.53    January 24, 2009

    Too many lpd/lpc in output Gerber file

    This release resolves issue #125 which had to do with too many layers in the output Gerber file.


    Version 1.52    January 14, 2009

    Rotation error

    This release resolves issue #126 (rotation error) where: the IR value of the output GERBER file is incorrect.

    To revert back to the previous GERBER output (v1.51) pass the argument "-cc_ir" to:
    - command line: odb2gbr_cmdlne.exe "-job:sample.tgz" ... -cc_ir
    - ODB2GBR dialog: in the advanced dialog's arguments text box function: ACS_convertODBInput.

    All the possible arguments are listed in the header file "acs_odb.h" which is included in the package under the "lib" directory.


    Version 1.51    November 6, 2008

    Handles in ODB++2GBR

    This release minimizes the number of handles used by ODB2GBR.


    Version 1.50    November 3, 2008

    ODB2GBR GENESIS Emulation Ver 3 functionality

    The GUI now has an option to convert using g2k emulation v3 from the advanced dialog.
    The command line executable and the function ACS_convertODBInput now accepts g2k emulation v3 arguments.

    The allowed G2K v3 arguments are:
    -g2k_ver:3
    -g2k_order:0 | 1
    -g2k_break_sr:1 | 2
    -g2k_scale_mode:1 | 2 | 3
    -g2k_anchor:0 | 1 | 2 | 3
    -g2k_inch_anchor:anchor_dbl_val
    -g2k_mm_anchor:anchor_dbl_val
    -g2k_offset:0 | 1 | 2 | 3 | 4 | 5
    -g2k_inch_offset:offset_dbl_val
    -g2k_mm_offset:offset_dbl_val

    NOTE:
    The list of version 3 arguments can be found in the header file acs_odb.h which is included in the package.


    Version 1.49    October 22, 2008

    Chord error issues

    This release resolves error code -209 where: conversion fails when chord error is .00025


    Version 1.48    September 23, 2008

    ODB2GBR GENESIS Emulation Ver 2 functionality

    The GUI now has an option to convert using g2k emulation v2 from the advanced dialog.
    The command line executable and the function ACS_convertODBInput now accepts g2k emulation v2 arguments.

    The allowed G2K v2 arguments are:
    -g2k_ver:2
    -g2k_order:0 | 1
    -g2k_break_sr:1 | 2
    -g2k_scale_mode:2
    -g2k_anchor:0 | 1
    -g2k_offset:0 | 1 | 3

    NOTE:
    The list of version 2 arguments can be found in the header file acs_odb.h which is included in the package.


    Version 1.47    September 14, 2008

    Large Output File

    his release resolves issue #119 (large output file) where: the output Gerber file is too large due to the lack of SR commands.


    Version 1.46    September 10, 2008

    thermal mirror Error

    his release resolves issue #117 (thermal mirror error) where: rotation/mirroring is not applied correctly to a thermal.

    Dynamic text Error

    This release resolves issue #118 (dynamic text error) where: a dynamic text is not drawn in uppercase.


    Version 1.45    September 4, 2008

    Symbol Error

    This release resolves issue #116 (user defined symbol error) where: rotation/mirroring is not applied correctly to a user defined symbol.


    Version 1.42    August 7, 2008

    Shape Error

    This release resolves issue #112 (AM Error), where a macro name is defined multiple times as a result of rotated symbols generating a macro name that already exists.


    Version 1.41    June 12, 2008

    AM Error

    This release resolves issue #114 (Shape Error), where: A surface hole is not drawn correctly


    Version 1.40    June 10, 2008

    Pattern Error

    This release resolves issue #111 (Pattern error), where the SR steps are not drawn in the correct order.


    Version 1.39    May 29, 2008

    Shape Error

    This release resolves issue #110 (Shape error) where a rectangular line is drawn incorrectly.


    Version 1.38    May 26, 2008

    Shape Error

    This release resolves issue #110 (Shape error) where a rectangular line is drawn incorrectly.


    Version 1.37    May 16, 2008

    SR bug fix

    This release resolves issue #107 (Pattern weft) where: the SR steps are not drawn in the correct order and data are not being scratched.


    Version 1.36    May 6, 2008

    RectAngle PAD line error

    This release resolves issue #106 (RectAngle PAD line error) where: The line drawn with a rectangle in ODB2GBR does not match the GENESIS GERBER representation.


    Version 1.35    May 1, 2008

    Error code -206

    This release resolves issue #104 (error code -206) which is caused by running multiple instances of odb2gbr at the same time on the same file, same step but different layers.

    Running multiple instances of odb2gbr at the same time on the same file, same step and same layer is not allowed. This will create a corrupted output.


    Version 1.34    April 24, 2008

    Path Error

    This release resolves the Path Error where:

    An error occurs when the "ODB Input file path" is set to "IP address" or "Network Computer name".


    Version 1.33    April 22, 2008

    Dynamic Text Error

    This release resolves the Dynamic Text Error where:
    - Some of the Dynamic Texts are converted incorrectly..

    New API calls Added

    A function to get the out_x_scale and out_y_scale value of a given Step/Layer combination:
    int ACS_getODBOutScale(char * stepName, char * layerName, double * x, double * y);
    - This function gets the out_x_scale and out_y_scale value of the specified step/layer combination.
    - This function returns 0 if successful and 1 if failed
    - x will be set to layer's out_x_scale value
    - y will be set to layer's out_y_scale value

    4 functions to get the Top Step List and Most Likely Topmost Step

    int ACS_getODBTopStepListName(char *** topStepList, int * numTopStepList);
    - This function gets the list of the step names with no parents (top steps)
    - This function returns 0 if successful and 1 if failed
    - topStepList will be set to the list of the top step names
    - numTopStepList will be set to the number of top steps

    int ACS_getODBTopStepListIndex(int ** topStepList, int * numTopStepList);
    - This function gets the list of the step indices with no parents (top steps)
    - This function returns 0 if successful and 1 if failed
    - topStepList will be set to the list of the top step indices
    - numTopStepList will be set to the number of top steps

    char * ACS_getODBMostLikelyTopStepName();
    - This function returns the top step name or NULL if it failed

    int ACS_getODBMostLikelyTopStepIndex();
    - This function returns the top step index or -1 if it failed

    The index returned by ACS_getODBTopStepListIndex and ACS_getODBMostLikelyTopStepIndex is used for the Step List returned by the function ACS_getODBStepInfoList

    Example:

    struct ODB_StepInfo *stepList;
    int stepCount;
    int ret;
    int idx;
    ret = ACS_getODBStepInfoList(&stepList, &stepCount);
    if(!ret){
    idx = ACS_getODBMostLikelyTopStepIndex();
    if(idx != -1)
    printf("Most Likely Top Step: %s\n", stepList[idx].Name);
    }

    The fields of "struct ODB_StepInfo" can be found in the header file acs_odb_structs.h, which is included in the package.
    NOTE:
    - The declaration of these new functions can be found in the header file acs_odb.h which is included in the package.


    Version 1.32    April 21, 2008

    Flash Error and Lost Data Issue

    This release resolves the Flash Error and Lost Data Issue where:
    - A part of a symbol is not rotated correctly
    - A part of a symbol is lost/dropped


    Version 1.31    April 17, 2008

    Dynamic Text Error

    This release resolves the Dynamic Text Error where:
    - Some of the Dynamic Texts are not converted.


    Version 1.30    April 2, 2008

    Square Drawn Arcs error

    This release resolves the Square Drawn Arc Error where:
    - An arc is drawn with a square instead of with a round primitive..


    Version 1.29    March 31, 2008

    Scale Issue

    This release adds 4 output flavors to convert ODB with out_scale attributes:

    1. default: ignore all out_scale
    "out_scale" attribute : Ignored
    "out_x_scale" attribute : Ignored
    "out_y_scale" attribute : Ignored
    - %SF directive : Not used
    - The shape of feature with "out_scale" attribute : Not scaled
    - The position of feature with "out_scale" attribute : Not scaled
    
    2. sf: enforce global scaling by way of %SF
    "out_scale" attribute : Ignored
    "out_x_scale" attribute : Not Ignored
    "out_y_scale" attribute : Not Ignored
    - %SF directive : Used
    - The shape of feature with "out_scale" attribute : Not explicitly scaled
    - The position of feature with "out_scale" attribute : Not explicitly scaled
    
    3. scale: enforce global scaling by way of explicit scaling
    "out_scale" attribute : Ignored
    "out_x_scale" attribute : Not Ignored
    "out_y_scale" attribute : Not Ignored
    - %SF directive : Not used
    - The shape of feature with "out_scale" attribute : Not
    scaled - The position of feature with "out_scale" attribute : Explicitly scaled
    
    4. local: perform scaling with .out_scale control
    "out_scale" attribute : Not Ignored
    "out_x_scale" attribute : Not Ignored
    "out_y_scale" attribute : Not Ignored
    - %SF directive : Not used
    - The shape of feature with "out_scale" attribute : Not scaled
    - The position of feature with "out_scale" attribute : Not scaled
    


    Version 1.28    March 11, 2008

    Flash Error

    This release resolves the Flash Error where:
    - Some pads are converted incorrectly:
    Square
    Rectangular
    Half-Oval
    Round Thermal (Square)
    Round Thermal
    Square Thermal (Open Corners)
    Rectangle Thermal (Open Corners)
    Moire

    Version 1.26    February 22, 2008

    Scale Issue

    This release resolves the Scaling issue where:
    - Some GENESIS Gerber output does not match the ODB2GBR output because of out_x_scale and out_y_scale values..

    Version 1.25    January 8, 2008

    Missing/Dropped User Defined Symbol

    This release resolves the Dropped User-Defined Symbol Error where:
    - Recursive use of user defined symbols are not supported. It is now supported.

    Version 1.24    December 13, 2007

    Undefined Aperture

    Version 1.23    November 30, 2007

    File Open Error

    This release resolves the File Open Error where:
    - An ODB File was not successfully opened.

    Version 1.21    September 19, 2007

    Layer Count Issue, Line Error, Dynamic Text Error and File Open Error

    This release resolves the Layer Count Issue, Line Error, Dynamic Text Error and File Open Error where:
    - There is an excessive number of layers in the output.
    - The order of layer conversion is incorrect.
    - Some dynamic text are converted incorrectly.
    - An ODB File was not successfully opened.

    Version 1.19    September 10, 2007

    Layer Count Issue

    This release resolves the Layer Count Issue where:
    - Too many Gerber layers are created. It was improved to create less layers. The number of layers for the file test.tgz was reduced from 66 to 15.

    Open Error

    This release resolves the File Open Error where:
    - The program detects irregular files (files that are not in the ODB++ spec) and an error is returned. This had to do with .org files that are not defined in the ODB++ specifications. The file in question was a font file called standard.org.
    In the fix for the open error, this font file is treated as any other font files, namely...
    (1) Font files are read and if not recognized as a font file, the file is ignored (not converted into an SHX file).
    (2) Feature files are converted into GDX. There are text lines in the feature files that make use of SHX files. If the text lines make use of a non-existing SHX file, an error is returned.

    Polygon Data Issue

    This release resolves the Polygon Data Issue where:
    - The default polygon output is butting edge. The default polygon output is now cutline. New command line option -butting is now available. Use this option if you need a multiple polygon output instead of a single polygon (Issue 61).




    Version 1.18    August 16, 2007

    Polygon Data Issue

    This release resolves the Polygon Data Issue where:
    - The default polygon output is butting edge.
    The default polygon output is now the same as v1.16 (single polygon). To enable multiple polygon output, the optional argument for ACS_convertODBInput is "-butting".
    Please see the acs_odb.h header file included in the package for more information.




    Version 1.17    August 9, 2007

    Polygon Data Issue

    This release resolves the Polygon Data Issue where:
    - The only possible type of polygon conversion is cutline.
    Surface conversion has been modified to enable 2 types of polygon output. The default output is butting edge (2 or more polygons) and the alternative output is cutline (single polygon). Cutline output can be enabled by passing "-cutline" in the argument list of ACS_convertODBInput. Please see the acs_odb.h file included in the package for more information.

    Dynamic Text Error

    This release resolves the Dynamic Text Error where:
    - Some dynamic text are converted incorrectly.




    Version 1.12    July 24, 2007

    Text Errors

    This release resolves the Text Error where:
    - Some text are converted incorrectly.




    Version 1.11    July 18, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text initial position does not match the text created by Genesis.




    Version 1.10    July 16, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text initial position does not match the text created by Genesis.

    Pad Placement Error

    This release resolves the Pad placement Error where:
    - Some pad transformations are incorrect.




    Version 1.09    July 12, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text initial position does not match the text created by Genesis.




    Version 1.08    July 9, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text initial position does not match the text created by Genesis.




    Version 1.07    June 29, 2007

    File Open Error

    This release resolves the File Open Error where:
    - An ODB File was not successfully opened because of a SR memory allocation bug

    New API Calls Added

    three new API calls have been added to help a calling program determine the revision of the DLL

    char * ACS_getODBVersion();
    char * ACS_getODBRcs();
    char * ACS_getODBDate();
    

    See the acs_odb.h for details.




    Version 1.06    June19, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text placement does not match the text created by Genesis.




    Version 1.05    June9, 2007

    Surface Error

    This release resolves the Surface Error where: - Some polygons are converted incorrectly.
    This issue was fixed by collecting groups of islands and holes. The current group of holes are subtracted from the previous group of islands.




    Version 1.04    June7, 2007

    DataOrigin Error

    This release resolves the Data Origin Error where:
    - Some Data placement are converted incorrectly.

    Surface Error

    This release resolves the Surface Error where:
    - Some polygons are missing holes.
    This issue was fixed by collecting all the islands and all the holes in the surface and subtracting all the holes from the islands all at once.

    SquareLine Error

    This release resolves the Square Line Error where:
    - Diagonal Square Lines are converted incorrectly.
    Please note that our previous output was how Gerber files interpret diagonal lines drawn with a square. To draw the same output as Valor, we turned the diagonal lines into polygon area fills (i.e. using G36,G37 Gerber G codes).




    Version 1.03    May 31, 2007

    Text Position Error

    This release resolves the Text Position Error where:
    - Some text placement does not match the text created by Genesis.

    Application Error

    This release resolves the Application Error where:
    - A real-time problem caused the program to access freed memory.




    Version 1.02    April 03, 2007

    Font Error

    This release resolves the Font Error where:
    - Some text are converted with an incorrect font.

    SR Error

    This release resolves the Step and Repeat Error where:
    - Some SR data are converted incorrectly.

    Gerber Outline Error

    This release resolves the Gerber Outline Error where:
    - The Gerber outline primitive draw is incorrect.
    The Gerber outline primitive output has been fixed to follow the convention. CAM350 should now load and draw the Gerber file as expected.




    Version Alpha 4    April 03, 2007

    Output Units

    Even though all ODB++ files are by definition created in units of inches, it is now possible to select RS274X utput in units of MM.

    Conversion Time Improved

    The conversion time has been improved; multithreading is supported and the user should specify a thread number = 2 to take advantage of multithreading.

    Bug Fix

    As per the issue #11 of 04/02/07; The bug that causes the program to report an error has been fixed.




    Version Alpha 1    March 08, 2007

    Alpha Release 1

    The alpha release is designed to enable our programmer customers to start coding their calling programs.

    Notes:

    • This version is much faster than yesterday's Alpha 0 version for files that contain "surfaces", i.e. ground planes.

    • It now supports user defined symbols (bug fix).

    • It fixes a upper-lower case file mapping problem which resulted in dropped data.

    • It fixes a step insertion bug that was the result of incorrect initialization in the DLL.


    Planned for Next Release (2 weeks)

    1. rotated D codes/symbols

    2. OBD text support

    3. macros, i.e. Valor defined symbols that do not have a direct analog in GERBER

    4. polarity changes

    5. improved error message support

    6. speed improvements




    Version 1.00    March 07, 2007

    Alpha Release 0

    The alpha release is designed to enable our programmer customers to start coding their calling programs. The alpha version does not support:

    • many symbols (flashes)
    • polarity instructions
    • text





    Download

    Revision History

    Price





    ARTWORK CONVERSION SOFTWARE, INC.       Company Profile
    417 Ingalls St., Santa Cruz, CA 95060    Tel (831) 426-6163     Fax 426-2824    email: info@artwork.com