This page contains the summary of ODBRIP release dates, versions and changes/fixes made for that release.
Added multithreading to odb2gdx64.exe which is the ODB++ feature file interpreter. The feature is ON by default but can also be controlled
with the "-thread_surf:[0:1]" argument (1 is on and 0 is off).
For example: "-engargs -thread_surf:0 -endarg" placed in the "Convert Args" of the "Advanced Settings" dialog box of ODBRIP will deactivate this multithreading.
The "Thread Num" setting in this same dialog controls the number of threads used.
This button becomes active when an ODB++ file is opened and changes to a "View Log" button after conversion.
If selected it displays "ODB Tree" output in an editor showing information containing: top step, step, layer, and tree graphs.
The "About" button was added to main dialog and "About QT" button to "About" dialog. The "About QT" launches a "Qt License Information" dialog box.
Updated modulesUpdated split274x and boolean component modules.
This release is identical to v3.19 with the exception that the installers for both the 32 and 64 bit versions were modified for proper installation on a new system. This included adding the proper VS C++ redistributable as well as providing the platforms folder for Qt support.
Both releases are either strictly 32 or 64 bit releases and are built with Qt r5 and Visual Studio 2015. Qt r4 and VS 2008 builds have been deprecated.
Misc UpdatesThis new release includes all the updates done in our ODB2GBR tool since August 2021. You can review the changes in our ODB2GBR Revision History.
This new release includes all the updates done in our GerberRip tool since August 2021. You can review the changes in our Gerber Rip Revision History.
MFC version of sample code for calling the library has been removed. New sample code is for command line only.
Both the 32 and 64 bit versions will work with Hasp dongle (either OEM ADTEC or OEM Dynatron). You will need to provide the correct version of acs.key and make sure the correct version of hasp_lib*.dll is in the installation folder:
hasp_lib64_0.dll - ADTEC 64 bit hasp_lib_0.dll - ADTEC 32 bit hasp_lib64_1.dll - DYNATRON 64 bit hasp_lib_1.dll - DYNATRON 32 bit
This version works with Artwork's standard licensing schemes as well, including the Flexlm USB key.
There is now a distinction between GUI and non-GUI versions. You cannot run the GUI version as a command line tool - it will tell you so if you try. To run from the command line you will need to invoke: odbrip_cmdline*.exe
Refer to the EXAMPLES
folder and carefully inspect the batch file there. It is a fairly comprehensive example. You should be able to run it "out of the box".
This version contains GBR2TIFF v7.67 which has not yet been released as a stand alone library.
-extents
argumentThe -extents
argument allows one to specify windows in the transformed space (old style). This version now supports -window
for a more natural way to support windowing. The xy values are in the data space. Make sure you
pay attention to the units.
-window
is accessible from the command line as well as the GUI. In the GUI there is a Check Box for this purpose in the Windows Group.
This version supports BIgTiff which is a gentlemen's agreement on how to write the header for TIFF files that are > 4 GB.
Now includes greyscale (-super) (not to be confused with greylevel). Greylevel and Greyscale are different. The greylevel option is still supported (it was developed for Dynatron.
Added an option to align the ODB layers without combining them into one RIP file.
In the command line you can specify the "-align" optional argument.
In the GUI there's a check box to align the output.
Modified the GUI to show the selected step's profile extent if it's defined.
The software writes the extent used at the end of the log file if ODB layers are either combined or aligned.
This version allows the user to select multiple layers and merge them to one output TIFF or BMP file.
GUI EnhancementThis version allows the user to change the layer list order by drag and drop.
This version holds the license from the start to avoid multiple runs on a single license which would produce an error in the middle of the run when licensing is network based and not set to unlimited licenses.
This version fixed a problem where the software dropped negative strokes from font files.
Warning for Negative StrokesThis version will report a warning if a feature file uses fonts with negative strokes. This is to warn the users that texts with negative strokes will not scratch data behind it.
This version fixed a bug in the program flow where font conversion ends if a failure is encountered. This causes an error for feature files that use fonts that are not converted. This is now fixed so that all of the fonts are converted even if there's a failure. If a feature file uses an invalid font, only that feature file will fail conversion.
Bug Fix for Direct use of SHX FilesFixed an issue where conversion fails if text uses an SHX font file directly. The conversion will no longer fail but the text is replaced with a capital 'X' in standard font and a warning will be recorded. This issue will be fixed further in a future release.
Updated the ODB2GDX library import module and fixed a memory leak
Fixed post-processor crash bugUpdated post-processor with a crash on consecutive run bug fix. The crash was caused by a file handle not properly closed after each run.
Fixed the issue where files containing arcs on the edges were not rasterized properly. This was caused by a bug in calculating arc extents.
Hardware Key NoticeThis release no longer supports Sentinel Keys
This version fixes an issue where data was dropped by the Boolean engine.
DocumentationAdded HTML Help files to the release.
This version uses the QT interface builder instead of MFC on Windows and Motif on Linux. The GUI is now the same for Windows and Linux. All the underlying software libraries are the same; only the GUI changed.
ODB_RipInit UpdateModified the function ODB_RipInit so that we can use Qt based GUI with the library. Users of the odbrip library (odbrip.dll) needs to include the latest header file (iodbriplib.h) and lib file (odbrip.lib) shipped in the package.
Fixed issue with thermal macro definition having nonzero angle parameter in the presence of mirror and/or rotation. Previously, macros that contained thermals might present the wrong orientation if the angle parameter in the macro definition was not 0 or a multiple of 90 degrees and converted with mirroring or rotation.
Missing data in MacroFixed an issue where a macro was missing a hole when ripped. This was caused by a bug in GBRPLT.DLL when cleaning up stale buffer with trailing garbage.
Modified the behavior of the licensing module which was causing a problem when converting multiple layers.
Detecting Layer TypeFixed layer type issue where the GUI tags a layer as type rout instead of drill.
Memory Leak BugFixed a memory leak bug in the gbrplt library when using multiple threads.
Command LineAdded command line sample code in the package.
Fixed licensing issue that fails on greyscale when multi window license is available.
Fixed a bug that returns an error when ripping ODB++ file while unit is set to MM.
Catch image size problem (for input producing > 4GB output) before rasterizing data.
Added support for extents delimited with spaces and/or commas.
Fixed issue with arcs.
In the GUI, running multi-window with reuse will use the previous loaded DB if everything else is the same (step, layer, unit etc) for faster rip.
New 64 bit version is now available.
New Multi windowNew feature to quickly convert many windows from the ODB++ file to TIFF/BMP output.
Command line arguments for multi window is -extents:[fullpath file] or -extents:[minx,miny,maxx,maxy] multiple times
Updated boolean with speed improvement.
Updated tiff_cmp (bug fix and enable square draws).
Fixed the issue where square/round draws are output with varying pixel width.
Removed the path patched on polygons.
Bug Fix - ArcFixed a bug where an arc is converted into a straight line.
Bug Fix - outscale not applied to textFixed a bug where the ODB++ outscale parameter was not being applied to text.
Fixed the issue of missing rounded rectangle pads.
Fixed boolean module which causes a failure when converting a very thin polygon..
Fixed the issue of missing rounded rectangle pads..
Updated gdsx2gbr library: Fixed a bug that causes data to be drawn with an incorrect polarity when a text inside a symbol is present.
Fixed a bug that causes files with a large number of vertex count to crash during translation.
gbrplt library fixFixed a bug in the buffer reading module where the last character in the buffer was dropped before refreshing the read buffer.
Fixed the ODBRIP crash with high resolution output. This was caused by a memory allocation error in one of the modules.
VS2008 compile
Most of the modules in this package have been updated to VS2008 compile.
Added VC Redistributables in the install.
Fixed the DPI value in the TIF header file.
Fixed the conversion failure when running odbrip_test_pb01.bat and odbrip_test_pb02.bat. We added code to recognize and convert "round" surfaces to circles. This decreases the size of the file to load and prevents loading failure.
The only solution for odbrip_test_fc01.bat and odbrip_test_fc02.bat is to use a smaller raster buffer (128).
Fixed the following issues:
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.
Fixed polygon draw issue (09_20121026) where a polygon was dropped from the output file. This was caused by a bug in converting polygons with holes bigger than islands.
Fixed line width issue (07_20121025) 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.
Dynamic Text Fixed dynamic text issue (08_20121026) where a dynamic attribute text was not converted.
This was caused by a bug in converting system attribute texts.
Fixed dynamic text issue (10_%) where an attribute text that has a "%" character was dropped.
This was caused by a bug in reading the value of attributes with "%".
Fixed polygon draw issue (09_20121026) where a polygon was dropped from the output file. This was caused by a bug in converting polygons with holes bigger than islands.
Fixed the memory issue caused by high layer/SR count:
Increased the layer limit from 64K to 96K.
Applied memory optimization used for high layer count to high SR count.
Reduced the layer count of the intermediate file.
Fixed a bug where the rasterizer incompletely renders the end of an arc with width (circular data trace) in the presence of 90 degree rotation and mirror in X.
Fixed several arc issues:
connection between an arc and a line is not smooth.
a tail is drawn at the end of an arc.
a misplaced ball appears at the end of an arc.
Fixed Windows XP 64bit conversion failure.
Zip ODB++ inputAdded support for zipped ODB++ input.
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 issueFixed the dynamic text that was not translated. This is caused by the translator expecting an attrlist file from a step which did not exist.
This version fixes an issue where the rasterizer incompletely renders the end of a arc with width (circular data trace) in the presence of 90 degree rotation (but not -90 degrees). This issue was manifest only in SR'd data for some user specified windows and the entire image. The problem was related to aliasing issues when mapping real world coordinates to raster data. This aliasing issue was addressed, specifically the arc start and end points and there corresponding angles were adjusted in the presence of aliasing.
The issue of an incorrectly drawn ODB++ custom flash is now fixed. This issue was caused by a bug in layer count optimization.
Added support of line draws using symbols other than round or square.
Improved barcode support.
Polarity issueFixed the polarity issue where the polarity of a negative symbol nested inside another negative symbol is not generated properly.
Added barcode support.
Location of Intermediate filesIntermediate files will be created in the working directory.
If -reuse, a new file (step_name.txt) in the working directory will specify the intermediate files' full path.
Fixed the drawing polarity issue where negative data was drawn as positive.
Fixed the read only issue where ODBRIP fails to open ODB input with read only compressed files.
Fixed the week number issue where the RIP output week number differs from VUV.
Dynamic textFixed the dynamic text issue where the RIP output for layers specified as lowercase is different if the layer is specified in uppercase.
Window issueFixed the window issue where the RIP output is empty if the specified window crosses the polygon.
This version fixes gbr2tiff executable which had problem with the reversed image for single layer grey level output.
This version has improved image position and size for greylevel and monochrome.
Complex macroA complex macro with paint and scratch was incorrectly booleanized: a new version of BoolDll.DLL was required.
Rectangular DrawA large ground plane made of up rectangular (not square) draws was not rendered correctly when 90 degree rotation was applied.
Added the optional argument "-dpm" for the command-line executable.
Added the optional argument "-reuse" which:
on first run, it saves the intermediate files and logs the arguments used.
on succeeding runs, it reuses the intermediate files if the conversion arguments are the same as the previous run (differing DPI argument will cause a complete regeneration of intermediate files while differing windows will not).
The greylevel mode has been speeded up.
ODBRIP transformations are now the same as GBRIP.
This package allows one layer input with -greylevel.
This package suppresses all the status dialogs if -show_progress is not specified.
Fixed the window issue where ODBRIP does not use the window argument when output is greylevel.
Fixed extent issue where some extents are not calculated correctly causing a couple pixel narrower/shorter output.
Crash due to aperturesFixed aperture issue causing crash.
The new version supports up to 64000 internal layers.
The margin option is now supported.
There is also a new dll/lib/header.
The non-greyscale output is no longer banded and a whole file is created instead. The band name option is removed and the output is named after the layer that was ripped.
greyscale output
Greyscale option is added to the GUI and command-line executable.
For the GUI, check the greyscale checkbox in the main dialog and set the
layers and options in the greyscale settings tab of the advanced dialog.
For the command line, please use the arguments -greyscale:Lo,Hi,Drill,
-out:outbasename, -super:2|4|8|16, and step:step,layer1,layer2.
Added an option "-nocopyin" to avoid making a copy of the input ODB++ directory. The input's subfolders and files must be writable. The option can be used in the commandline, library or GUI. It must be noted that when using this option, the input ODB++ directory will be modified directly by the program.
Rip failure on small filesFixed rip failure on very small ODB++ input ran with a small DPI.
Unit defaultDefault is inch if no unit is specified in the command line or library.
Single band outputnA single band is created if the input ODB++ is small.
ODBRIP now uses Gerber flow (speed improvement).
Header file iodbriplib.h
The header file iodbriplib.h has changed:
Some error codes are removed and some are added (please see header file).
sIMAGEDESC members have changed (used in getting image information).
ODB_RipExit() and ODB_RipCancel no longer returns a value.
ODB_RipSetup optional arguments for rip has changed (please see header file).
A new function ODB_RipCleanup() has been added and must be called when rip is
finished.
ODB_RipStart requires a buffer size parameter (please see header file).
ODB_RipWaitForBand has a different set of return values (please see header file).
Functions ODB_RipGetRipStatus and ODB_RipGetNumberOfBands no longer exist.
ODB_RipGetRipImage does not accept buffer as argument. The buffer specified in
ODB_RipStart is used.
The library odbriplib.lib has changed. Please use the current library and
header file included in the package in your own program.
The set of DLLs have changed, please use the files at $INSTALL_DIR/src/bin
Added the command line executable in the package. The default output of the command line is TIFF, to output BMP please specify the optional argument "-bmp".
Speed improvementSpeed improvement on ODB++ input with complicated surfaces of up to 60x.
Blank window outputFixed a bug that results in blank areas with window clip.
A few problems were fixed in this release.
A few problems were fixed in this release.
Fixed long path issue caused by a bug in parsing the executable path.
Missing profile filesODBRIP will no longer cause an error if a step is missing a profile.
Missing layer folderODBRIP will no longer cause an error if a step is missing a layer folder from the "layers" folder.
Missing misc folderODBRIP will no longer cause an error when there is a missing misc folder.
Narrow imageFixed the crash for p24, p40, p54, p64 which is caused by a very narrow resulting image. An error will be returned if the resulting image is going to be too narrow.
This version supports USB key as well as HASP keys.