gbr2greyscale web page logo

GBR2GREYSCALE Revision History

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

Version 1.48 11/2/2017

Software Updates

This version fixed the issue of integer overflow with the Gerber input file.

Version 1.47 10/30/2017

Software Updates

Updated GBRIP to prevent messages from popping up when "-silent" option is specified.
The failure message will be recorded in the log file.

Version 1.46 6/21/2017

Software Updates

Updated GBRIP to fix the issue where some of the surface data were not scaled properly.

Added optional argument -ignore_deprecated to ignore axis select and mirror mass parameters. Added member to sGREYSETTING: mIgnoreDep (default is false on Init).

Version 1.45 5/3/2017

Software Updates

%ICAS% was dropped - this has been fixed.
(2) Fixed the issue where a round is erroneously converted into a rectangle.
(3) Fixed the issue where the raster crashes when the "-nosplitshrink" option is not used.

Version 1.44 3/14/2017

Large Vertex Count Polygon - Fix

Fixed a program crash that occurred when converting and qualifying a large vertex count polygon.A handler was added for this type of hard crash when qualifying the input data (implies NOT -nosplit). We will be adding the handler to other modules in our flow in the near future.

Added support for ASAYBX Mass Parameter

Fixed a reported problem where raster output is incorrect due to the XY axis swap designated (ASAYBX) mass parameter.

Version 1.43 1/18/2017

Enhanced reporting

Fixed conditioning flow to report an error if the file format is wrong. We added a check to make sure that the designated mass parameter is not out of place.

Version 1.42 11/1/2016

Data Conditioning Option

A new command line argument has been added:


and a new member of sGREYSETTING, mCondRetry, which enables the "rerun" of input data conditioning a number of times to try to fix bad input data. This data fixing is done ahead of the rasterizer module (which has its own data conditioning routines). This argument should not be used regularly but rather in cases where the input data has been found to be particularly "dirty" - for example, several duplicate points that result in dropped polygons. A good starting value for <num> is 2.

Version 1.41 10/9/2016

Circular Issue

This version fix an issue where an optimization introduced in v1.40 for handling full circles (circular data with the same starting and ending point) caused a problem across internal layers in the handling of G36/G37 while conditioning (split274x) the input Gerber file.

Version 1.40 10/7/2016

New command line Options

New -erraswarn command line option. When set, dropped polygons will not cause the program to fail.At the same time, the program will append conditioning error/warning messages to log file. Dropped polygons if any will be reported.

New -nowarn command line option. This option excludes conditioning warning (warning messages from our split274x call) messages in the log file. Actual conversion errors will still appear in the log file.

New -norip command line option. This option does not create any RIP output and logs the image info in the log file.

Fixed issues where some openings in the ground plane were dropped.

Version 1.39 9/28/2016

Rip problem

Fixed an issue when command line included a window with margin and inverse command line options.

Version 1.38 9/25/2016

Margin Controls

Added support for "-margin" with "-window". The optional argument "-aw:[l,r,b,t]" must be used if no window is specified. The optional argument "-margin:[val|l,r,b,t]" must be used with "-window:[LLx,LLy,URx,URy]". There is curently an issue with margin and inverse which we will fix in the next release.

  • Fixed issue where it fails to convert a few Gerber files (met6d045_hib.gbr, cas2j080_ls.gbr and cas2j080_bs.gbr). Please do not use the "-nosplit" optional argument unless the Gerber input comes from Artwork's tools.

    Default Location of Log File

    Default log file is moved to work directory instead of output directory.

    Log File Name/Location Argument

    Added optional argument "-log:[logpath]" to specify a log file name.

    Updates to members of sGREYSETTING

    Added members to sGREYSETTING: mLogFile (default init value should be set to "") and mNoHeader (default init value should be set to false). These will be initialized when the struct's init function is called.

    Version 1.37 8/15/2016

    GBRUNION Manager Unit Problem

    Unit values on the command line carrying an exponent in their expression (for example 1.0e-005) were not handled properly. This has now been fixed.

    Version 1.36    5/17/2016

    Error messages

    Catch error from rasterizer and include a more informative error message in the log file.
    Previously error handling on RIP errors did not depend on the exit code from GBR2TIFF, but depended on parsing the rasterizer log file. Now the exit code is checked and then the log file is checked. This provides a more robust method for checking for RIP failures. Until recently the only failure modes that presented themselves were either in parsing of the gerber file proper or in unionizing the gerber file as required by sizing. Recently some new test cases exposed a deficiency in error handling at the back end, i.e.while rasterizing. This has been corrected.

    Gerber Union output greater than 2GB

    Catch a gbrunion output that is greater than 2GB and give an error. This is true even if -erraswarn is set or -maxerr is greater than 0.
    Currently the rasterizer does not support gerber files greater than 2 GB that are the result of unionization which is required for sizing. This condition is now trapped and reported as a failure. Unionized file sizes can be minimized by making use of the -circularize command line option in gerber2grey.

    Version 1.35    4/28/2016

    Software Improvements

    Added new option -nosplit avoids input file validation. This should only be used if the input is known to be "good", this means there are no multiply defined apertures, the maximum number of macros and dcode definitions does not exceed 10000 and dcode enumeration does not exceed 10K. Consistency between G74/G75 codes and I/J values should be correct. Format statement precision does not exceed 8 places, typically 2.6 for inch and 3.5 for mm data. Data range is consistent with format statement.

    Added new option -nosplitshrink performs file validation but does not compensate G36/G37 data by 1/2 pixel size.

    Added an "Init" function for sGREYSETTING struct to initialize settings with their default values

    Updated sample code (including C# sample code):

  • to use new optional arguments: -maxerr, -erraswarn, -circularize, -gengargs, -nosplit, -nosplitshrink, -getinfo
  • to show updated usage of Gbrip_GetExtent (added optional args: wrkdir and keeptmp)
  • to show usage of new function Gbrip_GetOutputInfo

  • Version 1.34    4/15/2016

    Software Improvements

    Use specified thrnum for sizing (not limited to 4).
    Added -maxerr and -erraswarn optional arguments (int mMaxErr and bool mErrAsWarn in the API).
    Speed improvements.

    Version 1.33    4/7/2016

    Software Improvements

    Catch gbrunion error when -silent is turned off.
    Added a length parameter in the Gbrip_GetErrStr function. Default is 256 but it must be set to the error string buffer's length to avoid memory corruption.
    Added a new function Gbrip_GetOutInfo to get the output image's information. This will be stored in a sGBRIPOUTINFO struct and has the following members: mUnit, mShift, mImgXY, mScale, mRowCnt, mRowSz, mRowByte, mBitmapBytes.
    The API changes can be found in the header igbriplib.h located in the installation folder's source directory.

    Version 1.32    4/1/2016

    Software Improvements

    Intercept error pop-up and write the error message in the log file.

    Version 1.31    3/16/2016

    Software Improvements

    Invalid Gerber files are detected in the front end and not rasterized.
    No pop-up on silent mode. Error messages are output in the log file and the executable returns 1. The executable returns zero on success and non-zero on failure. The return value "one" means that the input arguments are not valid and negative return codes mean that the run failed.
    Added support to Gerber with dcode up to MAXINT.
    Fixed the issue where margins are not inverted with "-inverse" mode on.
    Scale is applied to the margin.

    Version 1.30    12/3/2015

    Speed Improvements

    This version is 5 to 10 times faster on customer files when sizing is used.

    New Licensing

    This version is up to date with the latest Flex node locked licensing.

    Version 1.28    7/14/2015

    Update and Bug Fix

  • Fixed the bug where output is blank when no sizing is present.
  • Rip speed improvement with sizing (grow only).

  • Version 1.27    4/22/2015

    New Features

  • Added new logging information.
  • Fixed the included C# DLL for 32bit.
  • Added a check for .NET prerequisite on installation.

  • Version 1.26    4/22/2015

    New API Gbrip_GetExtent function

    Added Gbrip_GetExtent function to get the extent of the input Gerber file without rasterization. The usage of this function is added in the sample source code that is included in the package.

    New Margin option

    Added margin capability with the new argument -aw:[left,right,bottom,top] where left, right, bottom and top values are the margins in the specified unit (-unit:mm or -unit:inch).

  • Pass argument in the gbr2geyscale command line.
  • Pass argument in the input parameter (mRArgs) of the DLL's Gbrip_Convert function.

  • Version 1.25    3/9/2015


    Added gbr_rip softkey - gbr2greyscale (32 or 64 bit) are the only key codes needed.

    Version 1.24    3/9/2015

    New 64 bit release

    Added a new 64 bit release. Includes C# sample source code.


    Added gbrunion softkey so we no longer need the GBRUNION (2757/2756) key for sizing.

    Added C# sample code

    As more of our OEM partners use C# we are adding C# sample source code to demonstrate what is needed when programming in C#.

    Version 1.23    2/24/2015

    Independent Bias in X and Y

    Added the ability to independently control the edge bias in X and Y.

    Window with Sizing

    Previous version did not pass the window size to the boolean sizing engine -- this resulted in very slow sizing when doing only a small part of the layout. This has been fixed.

    Added C# sample code

    As more of our OEM partners use C# we are adding C# sample source code to demonstrate what is needed when programming in C#.

    Version 1.22    2/04/2015

    Source Code Example

    Added sample code in source folder and batch file in examples folder for programmers who want to call the library from their C/C++ application.

    Disabled Ricoh bitmap orientation

    The standard version of GBR2GREYSCALE included an non-standard bitmap arrangement that was specific to Ricoh. This has been removed in the non-Ricoh version.

    Version 1.21    1/28/2015

    Software Updates

    Fixed flex node licensing issue.
    Fixed a bug that causes a crash (same as GBRIP).
    This release doesn't have a sample code - it will be added in the next release.

    Version 1.18    1/6/2014

    Flipped image

    The issue where the output image is flipped when -super:0 is specified has been fixed.


    Revision History


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