gbr rip web page logo

GBR RIP Revision History

v7.35 (11/18/2016)

Software Update

Updated the C# packaging, and added gbr2tiff debug DLL.

Macro Tolerance

User can pass arguments to split274x by using the following optional arguments in the gbrip command line:
-engargs -bgn_split_args [args for split] -end_split_args

For example, by default the tolerance to remove duplicate macro definitions is 1 um. If the user want to tighten this tolerance the command line above could be modified to look like the following:

gbr2tiff.exe Inp.gbr -274x -mm -pack:out.tif  -dpi:101600 -wplot 0,-45 50,45.0 -ram:256
         -engargs -contours -thrnum:2 -bgn_split_args -arcres:6 -macro_tol:0.0001 -end_split_args
Macros would have to differ by less than 0.1 um to be considered the same.

v7.34a (10/15/2016)

C# Application Crash

The C# application crash was fixed. It was caused by using a release version of gbr2tiff.dll from a debug version of C# application.
The Debug version of gbr2tiff.dll can be found in the "debug" directory at the install directory. This debug dll can be used for development purpose.

v7.34 (10/10/2016)

Bug Fix - Circles using Full Circular

An optimization introduced in v7.33 for handling full circles (circular data with the same starting and ending point) inside of G36/G37 blocks also introduced a state problem across internal layers in the handling of G36/G37 blocks while conditioning (split274x) the input Gerber file. This was fixed.

v7.33 (10/9/2016)

Unexpected Program Exit

A customer reported a problem while compiling our C# example source code. It resulted in premature and unexpected program exit when the calling program makes use of GBR2TIFF.DLL. This bug was related to security/licensing and not the core program flow.

v7.31 (9/27/2016)

Drawing Adjustments for Compensated Traces

A previously introduced option, -contour, which made small compensations in Gerber traces to improve line width accuracy, proved to introduce a new problem when such traces shared an edge with polygon fill (G36/G37) data. The compensation to provide a more accurate line width could potentially leave a gap between the rendering of the trace and the edge of the filled polygon.

A new option, -drawadj, is now introduced, which will "grow" trace data to prevent such gaps.

It can be used in two ways:

    -drawadj   used without any following parameter, gbr_rip will automatically select an optimal amount of trace width growth based on the DPI; All traces are sized up by the same amount independent of the original trace width.

    -drawadj:A   the parameter A enables the user to control the amount of growth by value A (using the units specified in the transform file or passed on the command line). Again, all trace data is sized up by the same amount without regard to the original trace width.

This new option may or may not be used in conjunction with -contours (or -compensate)

Max Dcode Count Raised

The max Dcode value has been raised to 231

Improved Handling of RS274X Directives

Interpretation of RS274X directives have been improved: some non conventional usages of the format statement (FS) are now handled "properly", at least as the user intended. Poorly constructed or unusable RS274X preambles are flagged as errors and rasterization will not occur.

Margin Controls Enhanced
The -margin command line option now supports more than one value similar to -aw. -margin can take on a single value (original behavior) or four independent values.

where L, R, B and T are the Left, Right, Bottom and Top margins respectively.

Margin and AutoWindow Working Together Correctly

The -margin directive and the autowindow directive (-aw) now are working together correctly. In previous versions, this combination did not always produce the expected margin values.

v7.30 (6/24/2016)

Added monochrome output in 8 bits/pixel format

This is a monochrome (2 levels of "grey" black and white) but placed into a full byte (8 bits) for applications that only read standard grey scale input. It can be produced using the command line directive: -super:18.
This is consistent with the other super sampling options. The various options are shown in the table below:

Command Line
None 2 1 U, PB 1 U
-super:2 4 2 U 8 U, RLE
-super:4 16 4 U 8 U, RLE
-super:8 256 8 U 8 U, RLE
-super:18 (new) 2 8 U, PB 8 U, RLE
-super:28 (new) 4 8 U 8 U, RLE
-super:48 (new) 16 8 U 8 U, RLE

Compression Options

  U= uncompressed

  PB = packbits

  RLE = run length encoding

Multi USB Key Support

Prior versions did not work when more than one Sentinel USB key was inserted into a computer. This version now supports multiple USB keys on same computer.

v7.29 (5/10/2016)

Thread Control

A bug in thread control which was introduced in v7.27 was fixed. The thread control bug resulted from the fact that a global variable controlling the maximum number of threads was reset to "1" during file validation.

Missing Flash

Our Gerber front end failed to handle specific Gerber code for a flash. This is now fixed.

v7.27 (4/30/2016)

Update to -contours Command Line Option

In this version, the -contours command line option in GBRPLT.DLL treats circular traces with non-zero width differently. In v7.26 they were segmented in a manner similar to circular data they might have been part of a G36/G37 block, now in v7.27 they are output as circular data.
The motivations for changing the way circular traces with width were handled were two fold:

  • During regression testing of the prototype release of ODBRIP, it was discovered that in the majority of (but not all) cases raster images of non-segmented data (taken from the previous release of ODBRIP) were smoother than those generated with GBRPLT.DLL v7.26.
  • Preserving circular data when possible also made for smaller files submitted to the rasterizer which of course has the benefits of smaller databases and faster rip times.
  • Update to BMP driver

    GBRPLT.DLL enforces a new policy that bitmaps need to be at least 8 bits wide and 8 bits high. If this condition is violated, this will trapped as load error.

    v7.26 (4/20/2016)

    Long Conversion time on client file

    A client reported long conversion time at 25400 DPI. We were able to improve the speed by performing a number of optimizations, including speed ups in the sizing algorithm in BoolDll and caching and reusing the results of sizing and window breaking data that were just translated in X and Y.

    v7.24 (3/28/2016)

    New Multi window

    New Multi-Window Mode is available with GBR2TIFF 7.24 and GBRPLT.DLL - it supports multi-window raster image generation.
    In this mode preprocessing, Gerber interpretation and database creation (in GBRPLT.DLL) happens only once per RS274X Gerber file. Multiple raster images can be generated quickly without the latency of preprocessing or database creation.
    In GBR2TIFF this facility is an extension of the –wplot command line option as seen here:
    C:\wcad\Gbrip\gbr2tiff64.exe icsxseed.gbr -274x -wplot @wplot3.txt -dpi:5080 -status -ram:128 -pack:win.tif -units:inch

    In this case the argument to the –wplot command line option is a text file in which each line contains two coordinate pairs as seen in the example below.


    Just as in the multi-file mode all of the other command line options apply to the data to be windowed, i.e. DPI, rotation, scaling, etc.

    v7.22 (1/28/2016)

    New Licensing

    Adopted new Flexlm license model, and no more support for disk serial number.

    Layer Name Limit

    Fixes an issue where more than 4096 RS274X LN (Layer Name) directives appear in a file.
    The limits was increased to be equal to that of the maximum number of internal layers 96K.

    -contour support

    Supports the -contour argument to the GBRPLT.DLL setup function. This new functionality compensates polygon data (G36/G37) by 1/2 pixel.
    From the GBR2TIFF command line this option is passed to GBRPLT.DLL in the usual way by making use of the -engargs command line argument. For example:

    gbr2tiff.exe ....... -engargs -contour -thrum:4

    In this mode split274x is called and a new Gerber file is always created with "optimal" format: 2.6 for inch and 3.5 for mm data.
    As a point of reference split274x is always called (unless GBRPLT.DLL receives the -nosplit command line, which of course is supported via -engargs -nosplit to GBR2TIFF) to potentially condition the input to GBRPLT.DLL. In the event it is found that preconditioning was deemed not necessary, the conditioned file is erased and the original file is submitted to GBRPLT.DLL.
    This flow has been in place 2006 when it was first put in place to support files with multiply defined apertures.
    This new functionality necessarily impacts throughput as negative sizing of polygons is computationally expensive.

    v7.17 (8/27/2015)

    Incorrect output for fine features/resolution

    A customer file with a 2 um round draw border exhibited several artifacts when rasterized at 1 and 2 um resolution. A similar file was constructed from the first one but the round tool was replaced with a square tool. Artifacts included:

      drop of data and misaligned data.
      Misalignment of the images when generated by –aw (auto-windowing associated with data extents) and –wplot (user specified window) even when the argument to -wplot agrees with the data extents reported by –aw.
      Missing top line in image.
      Poor spatial coherence of fine features – features too big and misplaced.
    This issue has been fixed.

    Varying Line Width and Spacings

    This version minimizes the number of line widths and spaces associated with apparent traces.

    Files with large number of macros or apertures

    Gerber Rip had issues converting Gerber files with over 10,000 apertures. This version has much improved support for files with large Dcode and MACRO counts. Optimizations are in place for redundant Dcodes and MACROs and nearly similar MACRO definitions.

    Disparity between Round and Square Draws

    Gerber Rip generated square draws which were misaligned and sometimes wider from there round counterparts. This has been fixed.

    v7.16 (4/22/2015)

    New Margin Option

    This version includes a new command line option -aw:L,R,B,T where the autowindow mode is capable of providing margins on the Left, Right, Bottom and Top in the units provided on the command line (inch or mm).

    v7.14 (2/28/2015)

    Sample Source Code

    Added sample source code to GBRIP 64bit package (including C#).

    v7.13 (2/28/2015)

    Large Radius

    Fixed a problem with arcs that have very large radius.

    v7.12 (11/28/2014)

    Software Updates

    Update libraries and engines (acsbool and gbr2tiff).
    Fixed a bug that causes a crash.

    v7.11 (12/5/2014)

    Licensing problem

    Fixed Flexlm node locked licensing issue.

    grey scale

    Fixed bug that causes an error when using -greylevel option.

    v7.10 (12/4/2014)

    Source Code Example

    Added C# sample program in the source folder.

    v7.09a (11/12/2014)

    Source Code Example

    Updated libraries included in the package. It will be installed in

    Updated gbr2tiffshell.dsp and added gbr2tiffshell.sln which can be found in instdir/Source/shell4dll.
    These will create the sample program gbr2tiffshell.exe in the instdir (install directory).

    v7.09 (11/11/2014)

    Windows 64 bit release for Fuji/Adtec and Dynatron OEM version.

    New HASP version (Fuji and Dynatron) of GBRIP 64bit.

    v7.08 (10/31/2014)

    Windows 64 bit release

    First release of the 64 bit version of GBRPLT.DLL and the accompanying rasterizers.
    On an average, the 64 bit version is 1.4 times faster than the 32 bit version.
    The 64 bit version doesn't have the memory limitations of the 32 bit version.

    v7.05 (10/20/2013)

    False vertical line in output

    There was a bug in the buffered reading module in which the last character in the buffer was dropped before refreshing the read buffer. This created a false vertical line that covers many cells in the panel. The issue has been fixed.

    v7.05 (10/20/2013)

    Complex Aperture Macro Issue

    self-intersecting polygons in a Complex Aperture Macro was dropped. The issue was related to the latest boolean ACSBOOL.DLL and was fixed.

    New -adnaseum command line option

    A new command line option -adnaseum:N,M will repeat the same job N times and retain every Mth TIFF file.

    c:\wcad\gbrip4fujijp.v705\gbr2tiff.exe -dpi:10160 -274x -mm 
          j02-204-02-2.gbr -pack:out.tif -ram:256 -scale:1.00055,1.0003 
          -wplot 8.64891,11.6739 550.151,633.486 -mirror:x -rotate:90 
          -status -adnaseum:1000,20 -engargs -thrnum:6 

    In this example 1000 RIPs are performed, and only files 0_out.tif 20_out.tif, 40_out.tif... are retained.

    v7.03 (09/20/2013)

    Rasterizer error when in MT mode

    This version fixes the problem with stray line in multi-threaded operation where spurious data appeared at sub-band boundaries in the main band.

    v7.02 (08/27/2013)

    Rasterizer error when in MT mode

    This version fixes the problem with running off the end of the region of interest in the rasterizer when multi-threading has been fixed.
    This manifested as a crash or exception when the band size was short and the sub bands associated with threading were even shorter and data in the last band was sparse; short bands are the consequence of higher DPI for a given raster buffer size; short sub-bands are the result of higher thread counts, i.e. if one uses -thrnum:N then the sub band height is 1/N that of the band height.
    In the past, this issue was only seen for 6 threaded operation at moderate values of DPI (less than or equal to 10000 DPI). This issue became important for at higher values of DPI used in conjunction with super sampling.

    Protection against large files over 4GB

    This version has protections against the creation of illegal output files (file sizes that would exceed 4GB).
    Uncompressed BMP and TIFF file creation is checked at program start up, packbits TIFF is checked as the TIFF file is created (because the final output size depends on how compressible the image is).

    v7.01 (07/30/2013)

    Super sampling Updates

    This version reflects corrections and improvements to super sampling and uncompressed TIFF support:

  • In the case of BMP or uncompressed TIFF a warning (usually a pop up) will be given if the final image size will exceed 4GB.
  • Now super sampling supports packbits TIFF. Previously only uncompressed TFF or BMP was supported.
  • Program footprint for super sampling has been optimized.
  • Program footprint for uncompressed TIFF and BMP output has been optimized. For simpler files (those with low LP and SR counts) it may be possible to run with 512 MB of raster buffer. For packbits TIFF the maximum raster buffer size is probably around 256 MB because packbits TIFF uses a double buffering scheme for rasterizing. There are no changes to program flow or architecture in this respect.

  • v6.93 (10/17/2012)

    Max layers

    This version now supports 96K layers. The memory footprint has been reduced in GBRPLT.DLL with respect to layer count.

    v6.90 (9/15/2012)

    Super sampling and threshold option

    fixes a bug in super sampling in conjunction with thresholding

    Arc Issue

    fixed an issue with missing ball on arc.

    Arc Related Issues

    This version fixes three arc related issues:

  • Connection between an arc and a line is not smooth.
  • Tail is drawn at the end of an arc.
  • Misplaced ball appears at the end of an arc.

  • v6.86 (6/20/2012)

    Incorrect Rendering of circular data trace

    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.

    v6.84 (4/2/2012)

    Dropped Polygon

    This version fixes the issue when a polygon whose extents exactly coincide with raster band edges is dropped.

    v6.82 (3/14/2012)

    Complex macro

    A complex macro with paint and scratch was incorrectly booleanized: a new version of BoolDll.DLL was required. This problem did not manifest itself with odd number of threads (1,3,5). With threading, the input set is striped and it happened that with an even numbers of threads (-thrnum:2 and -thrnum:4) a stripe boundary crossed several polygons with vertices coincident at the stripe edge. This has been fixed (issue 36).

    Rectangular Draw

    A large ground plane made of up rectangular (not square) draws was not rendered correctly when 90 degree rotation was applied. The problem was a result of an optimization used to decide whether a path resides in the current band. With 90 degree rotation that wrong dimension of the rectangular trace was used to compute whether the trace was in the current band. This resulted in some traces being dropped. This problem also manifested itself as producing inconsistent behavior with different raster buffer sizes as this creates bands with different sizes and positions across the rendered image

    v6.81 (3/11/2012)

    Super sampling

    This version fixed a problem reported in regards to image location and size issues in conjunction with super sampling.

    In addition, -super:2 for BMP now support RLE encoding.

    v6.80 (3/3/2012)

    Improved GREYSCALE and GREYLEVEL performance

    The new version improves performance by 3 times compare to the previous version in GREYSCALE and GREYLEVEL mode (this is true for high DPI). Run length encoding (RLE) speed is comparable to TIFF Packbits.

    v6.79 (1/24/2012)

    Gerber file with 40000 layers

    The new version supports up to 64000 internal layers.

    Custom Aperture bug

    A bug related to custom aperture definitions was fixed. It was introduced during the effort to be able to load large layer counts.

    v6.75 (12/21/2011)

    Bottleneck during multi-threaded operation

    This version fixes a bottleneck related to multi-threaded operation that was not noticed before. Previously some flashes were processed more than once in MT mode.

    Memory Leak Fix

    A memory leak related to thread handles was discovered and corrected.

    Max internal layer count increased ...

    This version supports 274X files that contain in excess of 1024 internal layers (i.e. LPD/LPC changes); unfortunately the upper limit is limited due to 32 bit memory constraints. The maximum number of internal layers is file dependent, but lies somewhere around 10K. More work needs to be done here to achieve the target limit of 64K internal layers.

    v6.73 (5/24/2011)

    Incorrect output with -wplot option

    This version fixes a problem that occured when a very small window was specified for a gerber file using the SR command.

    v6.72 (4/26/2011)

    Incorrect output with -wplot option

    This version fixes a problem noted in -wplot mode in the tiff output.

    v6.70 (4/13/2011)

    Small arc with very large radius

    This version fixes incorrect output triggered by an arc with large radius and almost 0 angle.

    Multi-threaded raster output fixed for IPNEG

    This version fixes a problem: raster output differed for files using IPNEG directive depending on whether multi-threading was turned on or off.

    v6.69 (4/09/2011)

    New multi threading

    This version supports multi-threaded rasterization with up to 6 concurrent threads. Users can see major speed improvements especially when processing files at high DPI where the dominant bottleneck is the rasterizer. Note: Loading and polygon extraction is still single threaded and no speedup will be seen in those parts of the program.

    v6.60 (2/15/2010)

    Complex polygon issue

    The version fixes an error which was the result of a "degeneracy" caused by a cutline that "touched" a hole made from circular data in a large vertex count ground plane. This problem was fixed by removing the problematic cutline before converting the ground plane to its internal representation.

    Extent calculation error

    The version fixes an extent calculation error for a donut shaped flash.

    v6.57 (9/15/2009)

    Circle at 4.5 format

    This version fixes a problem with a circular pad at 4.5 format.

    v6.55 (7/9/2009)

    Very Short Arc

    This version fixes a problem processing a very "short" arc that is part of a G36/G37 block. The start and end point of the arc were so close that the RIP treated it as a full circle and therefore cut it away from the main polygon.

    Integer overflow with shallow arc

    This version fixes an integer overflow in the rasterizer for a shallow arc at high resolution.

    v6.54a (4/14/2009)


    This version supports USB key for the Gerber Spool utility.

    v6.54 (4/9/2009)

    Arcs at 2um DPI were not handled correctly

    This version fixes a bug report from Fuji which had to do with handling arcs at high DPI.

    v6.53 (3/22/2009)

    Flash and AreaFill

    This version fixes the issue with a flash connected to an area fill - it was the result of a change made in v6.52 in response to another customer's request regarding the interpretation of codes in G36/G37 sequences. This fix caused the broken functionality reported by Fuji. The new code not only fixes the broken functionality introduced in v6.52 but also is an improvement over v6.51, i.e. it fixed some related issues that were previously undiscovered with respect to the interpretation of codes in G36/G37 sequences.

    v6.52 (3/13/2009)

    Dropped data with Gerber Rip

    This version fixes the issue with dropped data due to an area fill denoted by a G36 G37 pair started with a move-to command D02 without any accompanying X or Y data; even though the front end treats the input GERBER stream as modal - it expected to see at least an X or Y value.

    v6.51 (1/13/2009)

    Crash in GBRIP 6.51

    This version fixes a problem which resides in BOOLDLL.DLL in evaluating a macro.

    v6.50 (11/28/2008)

    Error handling scaled oblong flash

    This version fixes a problem handling a scaled oblong flash. This bug was introduced again in 6.49 when we fixed an issue raised by Fuji Japan.

    v6.48 (9/16/2008)

    Error handling scaled oblong flash

    This version fixes a problem handling a scaled oblong flash.

    v6.47a (8/1/2008)

    USB key support on Windows XP and Vista 64

    This version supports USB key under Windows XP and Vista 64 bit.

    v6.47 (2/27/2008)

    Error handling short arc

    This version fixes very short arc (1 format statement grid) reported by Printar.

    v6.46 (10/3/2007)

    Error handling the SR command

    Fuji Japan reported a problem with the way with supported the SR command with negative values. This has been fixed.

    v6.44 (9/16/2007)

    Gerber Format issue and two syntax issues from Fuji Japan

    We added support for Gerber files with format of 9 digits (For example 4.5).
    We also improved the software to handle gerber files that used syntax we didn't support.

    v6.43 (9/6/2007)

    Reverse color palette for BMP

    We added a new command line option -reverse which reverses the color palette for BMP only. This is independent of the -inverse command line option.

    v6.42 (7/26/2007)

    Support for RLE8

    This version support RLE8 in conjunction with super sampling, i.e. you may use the -rle command line option with -super:N for N equal to 2, 4, 8, 16.

    As an example

    gbr2tiff.exe Layer02.gbr -274x -bmp:L01_in_s04_case3-rle.bmp 
      -super:4 -units:inch -dpi:5800 -wplot -0.8,-0.4 2.4,3.65 -status -ram:16 -rle 

    generates a compressed RLE8 BMP file while

    gbr2tiff.exe Layer02.gbr -274x -bmp:L01_in_s04_case3.bmp 
      -super:4 -units:inch -dpi:5800 -wplot -0.8,-0.4 2.4,3.65 -status -ram:16 

    generates an uncompressed BMP file

    The uncompressed output is 19.9 MB while the compressed file is 233 KB.

    2,4,8, and 16 bit super sampling

    This version now supports 2, 4, 8, and 16 bit super sampling, corresponding to 4, 16, 64, and 256 x reductions in resolution. All outputs are greyscale.
    For TIFF and BMP the corresponding command line options are


    Note that BMP does not support 2 bits per pixel rendering. For TIFF output we have added -super:28 and -super:48, which are equivalent to -super:2 and -super:4

    But the output reflects 8 bits per pixel rendering, i.e. 256 levels of greyscale. For BMP, GBR2TIFF maps user command line options -super:2 and -super:4 to -super:28 and -super:48.

    v6.41 (7/17/2007)

    Incorrect output window

    This version now outputs the correct windowed data for -aw and -wplot commands. Previously the image height was padded to the nearest value of 8000/SuperSampleValue.

    2,4,8, and 16 bit super sampling

    This version now supports 2, 4, 8, and 16 bit super sampling, corresponding to 4, 16, 64, and 256 x reductions in resolution. All outputs are greyscale.
    For TIFF and BMP the corresponding command line options are

    Note that BMP does not support 2 bits per pixel rendering. For TIFF output we have added -super:28 and -super:48, which are equivalent to -super:2 and -super:4
    But the output reflects 8 bits per pixel rendering, i.e. 256 levels of greyscale. For BMP, GBR2TIFF maps user command line options -super:2 and -super:4 to -super:28 and -super:48.

    v6.40 (7/1/2007)

    2,4,8,16 Super Sampling

    This version now supports 2, 4, 8, and 16 bit super sampling, corresponding to 4, 16, 64, and 256 x reductions in resolution. All outputs are greyscale.

    For TIFF and BMP the corresponding command line options are


    Note that BMP does not support 2 bits per pixel rendering. For TIFF output we have added -super:28 and -super:48, which are equivalent to -super:2 and -super:4. BUT the output reflects 8 bits per pixel rendering, i.e. 256 levels of greyscale. For BMP GBR2TIFF maps user command line options -super:2 and -super:4 to -super:28 and -super:48.

    v6.38 (4/25/2007)

    USB key support

    This version is USB enabled.

    Rip error

    Gerber Rip had a rip error where a G36/G37 boundary gets connected to another G36/G37 boundary outside the field of view. Problem reported by Fuji Japan.

    Zero aperture Dcode

    Fixes the issue where a zero width dcode is flagged as an error in the log file; before it was a warning.. Problem reported by Cisco.

    v6.34 (11/20/2006)

    Oblong apertures not scaled properly

    Oblong apertures were not scaled properly when the X and Y scale were different. The problem was fixed.

    v6.32 (10/18/2006)

    Conflict between command line options

    Conflicts between some command line switches are now properly flagged.
    -super command line option must come last and only used in conjunction with -tiff or -bmp, and some others. Before a warning would be issued, but execution would continue. Now, the user is forced to fix the construction of the command line..

    v6.31 (10/15/2006)

    Added Support for large ratios of DPI in X and Y

    We added two new command line options for GBR2TIFF.EXE, namely -dpx:N and -dpy:N where N is the integral factor of columns and rows removed from an "oversampled" image.
    For example...

    Consider the following example command lines:

    1) gbr2tiff.exe icsxseed.gbr -274x -inch -aw -dpi:4096 -pack:pack0.tif 
    2) gbr2tiff.exe icsxseed.gbr -274x -inch -aw -dpi:4096 -pack:pack_x3.tif -dpx:3
    3) gbr2tiff.exe icsxseed.gbr -274x -inch -aw -dpi:4096 -pack:pack_y3.tif -dpy:3

    If (1) is the nominal command line, (2) generates an image that is 3x narrower, while (3) produces an image that is 3x shorter.

    Row removal is much faster than the bit manipulations required to do column removal. This could esily be made 2x or 4x faster using multi-threading on a multi-core, multi-processor machine.

    v6.30 (09/11/2006)

    FineTrak Issue #76 (AR APNL6RFKFL)

    Fix a bug report from FineTrak (Fuji UK).

    v6.29 (08/08/2006)

    New command line option -fill

    Narrow traces that are less than one pixel width would sometimes be dropped from the output file. That depended on whether the Gerber Rip scan line fell on the trace or not.

    Added a new option -fill which will always give you a one pixel line under the above conditions.

    -fill:0    (default or old behavior)
    -fill:1    (fills in "gaps" less than 1 pixel).

    test this option carefully before using it in "production" as it may produce surprising results and run much longer.

    v6.28 (07/06/2006)

    Grayscale Bug Fix

    The conversion from a monochrome bitmap to grayscale bitmap could generate bad data at the edges between data bands. This has been fixed. [reported by Maskless Lithography]

    v6.27 (06/25/2006)

    Dropped Macros due to Data Transformation

    Fuji Japan reported a problem where macros disapper in the presence of some transformations, i.e. mirroring and/or rotation.

    This problem was fixed; it was the result of macros that were drawn far off 0,0 i.e. macro definition extents did not include the origin. When these macros were inserted into the main drawing and rasterization was to be done with mirroring and/or rotation, they were thought to be off the rendered image and dropped.

    v6.25 (05/15/2006)

    Missing Oblongs

    Fuji UK reported a problem where oblongs were missing. This has been fixed.

    The problem was the result of a large macro that followed a dcode reference in a file with decode redefintions. The coordinates to the reference were corrupted as the result memory overrun in a shared memory buffer used by the GERBER file reader and a coordinate database.

    Wedge in a curved path during rotation and mirror

    Hitachi reported a problem in which a wedge was created in a curved path during a mirror and rotation. This has been fixed.

    v6.24 (03/29/2006)

    Gerber Rip failed to support custom draw macros

    Gerber Rip didn't support a macro that was used as a draw with more than 2 points. This limitation has been fixed

    v6.23 (1/24/2006)

    Gerber Rip failed to support large size apertures

    Gerber Rip had a limit of 100MM aperture size. Fuji UK reported a problem with a file that had 2 donuts bigger than 100MM in size. This limitation has been fixed

    v6.21 (11/8/2005)

    DPI supports decimal values

    You can now set a DPI with a decimal number.

    New options - DPM and PixelSize

    User can now define a DPM value (dots per milimeter) or define a pixel size instead.
    For example..
    Will translate to 500 dots per MM.
    Will translate to pixel size of 0.001 inch or mm based on your -inch or -mm command line options.

    v6.20 (10/4/2005)

    Circle Draw issue

    There was a problem with a circle draw I J values both identically equal to zero. The draw is converted to a straight line. This was fixed (reported by Fuji Japan #11).

    v6.19 (9/19/2005)

    Point removal error

    Point removal of excess points generated an open figure. This was fixed (reported by Fuji UK).

    Folded polygon error

    An incorrect folded polygon caused an error in Gerber Rip. A new folded polygon repair was added BOOLDLL.DLL (reported by Fuji UK).

    v6.18 (8/26/2005)

    Gray Scale Output

    an optional gray scale output has been added. The gray scale output is calculated by first rasterizing at 8X or 16X of the desired output and using the number of "mini pixels" triggered to set a gray value. [Requested by Maskless Lithography]

    v6.17 (7/2/2005)

    Missing Flash

    The problem was related to the presense of an arc with a single unit of arc length. With a scale of 0.5 the starting and end points of the arc collapsed to the same point which implies an arc of 360 degrees which in turn painted over the missing flash. This has been fixed.

    v6.16 (5/20/2005)

    Rotate option on the command line

    When the option "-rotate" is specified, the "S&R" command was not rasterized correctly. This has been fixed.

    v6.15 (4/6/2005)

    8 bit characters

    Gerber rip failed to support 8 bit characters - it is now supported.

    Circular data bug

    Fixed a bug where circular data in a G36/G37 block in the presence of large non-isotropic scaling rendered incorrectly.

    Dropped Flashes

    Fixed a bug where flashes near the border of a rendered window, were dropped because they were thought to be outside the plot window in the presence of rotation and mirroring.

    v6.14 (2/14/2005)

    Missing Flash

    Some Dcode definitions (the ones that were missing) were redefined. Normally, this is handled properly, but in this case no GERBER data appears between the initial definitions and the secondary definitions. This has been fixed.

    v6.13 (2/10/2005)

    Polygon with 35000 vertices

    Gerber rip was not able to handle a polygon that had 35000 vertices (7600 were arcs). This has been fixed.

    v6.12 (2/08/2005)

    Bug with multiple defined Dcodes

    This version fixes the last issue reported by Hitachi. A problem in a module that supports multiply defined Dcodes was fixed. This is module handles the case when Dcodes are redefined as in the case in customer file. It has nothing to do with regular Dcode i assignments or macros. The bulges that appeared have nothing to do with issues in the RIP per se, but in the Gerber front end interpretter.

    v6.11 (1/25/2005)

    Rasterizer error

    The problem showed up when two unrelated and disjoint G36/G37 area fills were inadvertently connected as a result of windowing.

    v6.10 (12/18/2004)

    Arc handling

    Extremely large polygons with arcs were not handled properly. This problem has been fixed.

    v6.08 (12/8/2004)

    Small Donuts

    Donuts with small radius were dropped at low DPI (360). This problem has been fixed.

    Polygons with too many vertices dropped

    Under some conditions, polygons with thousands of vertices were dropped. This problem has been fixed.

    v6.05 (10/18/2004)

    Spurious line across the field

    There seemed to be a spurious line across the field of an otherwise properly rendered image. This problem was a bug in the buffered reading of data as the reader transitioned from the 274X header to the actual GERBER data. The problem has not been seen before because in most 274X files rendered to date the header (including custom macro definitions resided within the first buffered read). This problem has been fixed.

    v6.04 (10/14/2004)

    A problem with SR command used along with Scale

    There was a problem with SR's with scaling present. There was special code to handle scaling properly, however, the test to see if this code was to be used was inadequate when scaling was to be the same in both the X and Y directions. The old code produced the correct results with no scaling or with non-isotropic scaling, scaling in X is not the same as scaling in Y.

    Extent calculation

    There was a problem in the extent calculation of flashes in the presence of mirroring in which square, rectangular, oblong, and thermal flashes would be dropped if the flash appeared near the image border.

    PACKBITS compression

    There was a problem with PACKBITS compression that has been corrected. Compression was being done in place which assumes local compression ratios less than 1 (one). When spatial variations are high the assumption is not valid resulting in the compressed data over-running the data to be compressed which of course results a corrupted image. We have never seen this before and has been corrected. The advantage of the previous scheme was memory conservation (equal to a raster buffer size). Now the data is not compressed in place rather a buffer is allocated data is copied to it.

    v6.02 (09/17/2004)

    New Postscript Raster Driver

    GBV_RIP now supports the raster Postscript format (PSII). It supports color and black and white output.

    These are the command line options available with this version...



      -ps2 and -cps2 indicate that the output is to be encapsulated Postscript level 2.

      -cps2 indicates output is compressed (RLE)

      unless the -color option is used, output is black and white.

      primary_color_name can take on the following values:

      red, green, blue, cyan, yellow, magenta, black

    Rendering problem at high DPI

    GBR_RIP was not rendering correctly one of the customer files at high DPI (12000). The problem was the result of a clipping routine that produced incorrect output at the higher resolutions when passed polygon data that exceeded 10 inches in extent. The file extents are about 20 inches on a side. The clipping routine now protects against integer overflow while retaining full precision of the data passed to it.

    v5.99 (07/28/2004)

    Fixed Round Draw Problem at low DPI

    GBV_RIP was dropping a 360 degree draw (donut shape) when the aperture was narrow and the DPI was low enough that there were only 1-2 pixels to draw it. This has been fixed. (Reported by Printar)

    Fixed Out of Range Gerber Input Data

    Corrected an integer overflow that occured when a Gerber file with 3.6 format was submitted. GBR_RIP has a max dynamic range of 8 places (i.e. 4.4 is OK, 4.5 NotOK) Autoranging is not yet implemented. Data in the last place would be lost. (reported by FFEI)

    Fixed misc lines and corrupted figures

    FFEI reported a file with small narrow lines running across it and missing or distorted area fills. This was traced to improper use of the G36/G37 area fill in the input file.

    In one case a D02 (move with pen up) command was embedded inside of a G36/G37 block. GBR_RIP treated this as a pen down draw -- but the resulting polygon was bad. GBR_RIP now will close and fill the polygon if it encounters a D02 and start a new polygon after the D02 move.

    In a second case, a G36/G37 block had "zero" area. GBR_RIP rendered this as a single pixel wide line. GBR_RIP now fully discards such zero area G36/G37 draws.

    v5.98 (07/26/2004)

    Fixed Rectangular Draw Problem II

    Drawing with a rectangular aperture did not work if the input data was transformed by rotation. This was believed to be fixed in 5.97 but further tests indicated it had not been fixed when no scaling was applied. (reported by FFEI)

    Failure when empty file is submitted

    submitting an empty Gerber file to the RIP (and failing to close the RIP DLL) would cause subsequent jobs to fail. This condition is now detected and the DLL will automatically close. (Reported by FFEI)

    Out of Range Gerber Data

    Submitting Gerber files with excessive dynamic range (i.e greater than 8 total digits) can cause the RIP to fail. The RIP is designed to support a maximum of 8 places of dynamic range i.e. 4.4 is OK but 3.6 is not OK.

    Detection and autoranging will be incorporated into the next release. Reported by FFEI and various other users.

    v5.97 (07/08/2004)

    Fixed Rectangular Draw Problem

    Drawing with a rectangular aperture did not work if the input data was transformed by rotation. This has been fixed. (reported by FFEI)

    large boundary with arcs fixed

    A very large contour with arcs as part of the boundary was not rendered correctly. This has been fixed.(reported by FFEI)

    draw with custom aperture macro

    A draw command using custom apertures was not supported. In this version the bounding box of the custom aperture is calculated and this bounding box (typically a square or rectangle) follows the vertices of the draw coordinates.(reported by FFEI)

    v5.95 (03/21/2004)

    Improper Rendering of Thermals

    fixed a reported instance improper rendering of thermals.

    Improper Rendering of Arc data when using Anistropic Scaling

    Certain arcs were improperly rendered when: a) the IJ (center coordinates of the arc) was not consistent with the arc's starting and ending points and b) scaling in X and Y was applied anisotropically. i.e. Xscale not equal to Y scale. Under these conditions the computation for the ellipse that results from the anisotropic scaling could blow up. A new computation method has been designed that eliminates this possibility. (Reported by FFEI)

    v5.93a (02/15/2004)

    Memory Leak Fixed

    Fixes a memory leak that caused memory usage to grow if the DLL was executed over and over again. Reported by FFEI.

    v5.92 (1/9/2004)

    Circular data problem
    This version fixes all the issues reported (and not reported) by TRW:

    1. Circular data that is part of a G36/G37 group is now rastered properly when isotropic and non-isotropic scaling is applied. Previously scaling was not applied to circular data that was part of a G36/G37 group resulting is distorted figures, especially if the scale factors were non unitary.

    2. Circular data that is part of a G36/G37 group is now treated correctly. Previously the initial point of a G36/G37 group was lost when the group contained G02 or G03 commands, resulting in a raster image with spurious lines.

    3. The handling of extremely shallow circular data (where the radius of the arc can be very much larger than the field being rendered) is improved.

    v5.90 (11/14/2003)

    Added support to Mirror command

    GBR_RIP enhanced to support the MI mirror command in RS274X.

    v5.83 (07/31/2003)

    Support for very large Vertex Count

    GBR_RIP enhanced to support G36/G37 polygons with more than 100,000 vertices per polygon. Note: such files may not render on other photoplotters or load correctly into other CAM systems. (Reported by FFEI #38)

    v5.81 (07/24/2003)

    Extra Pixels near arc removed

    Fixes a rendering bug where extra pixels appeared near the arc. (Reported by FFEI #37)

    v5.80 (07/14/2003)

    Lazy Pad Fix Part II

    The fix in V5.79 was not complete and still manifested itself under some conditions of rotation and mirroring. It has been put to rest now. (Reported by FFEI #36)

    v5.79 (07/13/2003)

    Dropped Arc Fixed

    A dropped arc reported by FFEI (33) was the result of throwing away the missing arc during a prescreening process to see if data falls in the rasterization window (not a banding issue as originally suspected). This error never showed up before because the prescreening process positioned the arc incorrectly when BOTH -90 degree rotation and mirroring was applied. This has been fixed.

    Lazy Pad Fixed

    Pad positioning incorrect due to program not properly applying the non-isotropic transformations to SR (step and repeat) data. This has been fixed.

    v5.77 (07/07/2003)

    Fixed Large Arc Bug

    Fixed a problem that occured when an arc or circle crossed a rasterization boundary. (see 5.69a -- apparently that fix did not address all possible conditions.)

    v5.72 (03/31/2003)

    Rotation and Mirroring with SR Command

    Files that included the SR command (step-and-repeat) and that were transformed by rotation and mirroring would drop or scatter the stepped data. This has been fixed.

    Sizing of Rectangular Data

    Certain rectangular data entities were sized twice resulting in bitmap width and height that was too large by a pixel. Fixed.

    Detecting Arc Interpolation

    If no arc interpolation command is present in the file (G75) the RIP assumed 360 degrees. This behavior has been changed -- the RIP now examines the IJ commands to determine if interpolation is 360 or 90.

    Arc Rendering with Rotation

    Under some conditions applying a rotation to the data caused arcs to be rendered incorrectly.

    v5.70 (03/07/2003)

    Extent Calculation Bug Fix - GBV_RIP II fails to get the correct extent from the automatic window calculation routine. The solution is to booleanize each custom aperture and use the extents of the aperture to calculate the overall extents of the data. (reported by FFEI)

    v5.69a (03/02/2003)

    Large Arcs Bug Fix

    very large arcs (G02/G03) were not correctly rendered if they crossed a raster band. This has been fixed. (reported by FFEI)

    Bug Fix - G36/G37 pen up/pen down

    Corrected a bug caused by loss of pen up/down state prior to and during a G36/G37 command. (reported by FFEI)

    v5.69 (02/28/2003)

    Bug Fix - G36/G37 pen up/pen down

    Corrected a bug caused by loss of pen up/down state prior to and during a G36/G37 command. (reported by FFEI)

    Bug Fix - Custom Apertures

    Corrected bug in parsing and booleanizing custom aperture macros. (reported by FFEI)

    v5.68c (02/24/2003)

    Callback functionality for gbr2tiff.dll added
    gbr2tiffcb_bitmapinfo(long width, long height, unsigned long sizeinbytes)
    gbr2tiffcb_progress(long percent)
    gbr2tiffcb_status(char *status)
    gbr2tiffcb_message(char *message)

    This release has

    1. has callback functionality; (look in source/lib directory of the GBR_RIP distribution for callback related code and documentation)

    2. when using GBR2TIFF.DLL you must now provide GBR2TIFFCB.DLL with your executable

    3. to make use of the callback functionality in GBR2TIFF.DLL you must supply the "-callback" command line option; this forces the execution of GBR2TIFF.DLL in "silent" mode, i.e. it will not pop up any messaging, and all progress, status, and messaging is handled via the callback functions. In the sample GBR2TIFFCB.DLL provided with the release all these messages are written to plot.log

    4. GBR2TIFF no longer hangs when the number of strips is insuffcient to contain the TIF image. (Applies to Automatech output only.)

    5. the default number of strips is 6, i.e. 0 - 5 (applies to the proprietary Automatech output only.)

    v5.68 (02/11/2003)

    FLEXLM licensing
    GBV_RIP now supports FLEXLM license manager in floating license mode.

    Large raster file support
    GBR2TIFF.EXE and GBR2TIFF.DLL have large file TIFF packbits support; have achieved 5 Gbyte images (@ 12000 DPI) with 1 Gbyte disk files.

    Better Speed
    GBR2TIFF.EXE and GBR2TIFF.DLL TIFF packbits compression is done on the fly resulting in better than 4x speed ups.

    Auto Rotation
    GBRSPOOL now supports auto rotation, i.e. best fit to target image size.

    Maximum layer support
    Maximum number of internal RS274X layers increased from 256 to 1024.

    v5.67 (10/01/2002)

    Gerber spooling
    GBV_RIP now supports hot folders. User can define a hot folder where you can place Gerber files for plotting. The GBV_RIP will constantly look in the defined folder (or folders) and rip the Gerber file.

    v5.66c (05/01/2002)

    BMP support for 4 and 16 bit greyscales
    The program now supports BMP format in 2 (mono), 4 and 16 bit greyscales (16 and 256 "color" palettes).
    Option added for Bosch in South Carolina.

    v5.66b (03/05/2002)

    Cutout in a rectangular flash
    The program supports cutout in a rectangular flash. The front end now properly supports the standard 274x definitions of Round, Square, Rectangular, and Oblong decodes with voids.

    v5.65 (11/19/2001)

    Circular Data
    The problem here had to do with some very small circular data, i.e. the radius of circular data as denoted by I J commands were much less than the grid defined by the DPI.

    v5.64 (9/15/2001)

    MACROs bug fix
    This revision represents all the cummalative patches that were part of v5.63 as well as one bug fix that involved MACROs. When a MACRO became subject to a mirror operation it's extents were computed incorrectly. The behavior was such that the MACRO sometimes was dropped from the output. This has been fixed.

    v5.62 (1/14/2001)

    GBR2TIFF.EXE (v1.10)
    1. gbr2tiff.exe (v1.10). It is intended to replace gbripmgn.exe and gbrplt.exe. gbr2tiff will create either a TIFF file or a raw bitmap. It is intended to be launched from a command line. It's usage can be generated by invoking gbr2tiff.exe with the "-h" command line option. By default it runs in silent mode (no dialog, no status) which can be turned off with the "-status" command line option. Even with the "-status" option gbr2tiff.exe will not wait for user intervention to close by default. To defeat this behavior gbr2tiff.exe should be invoked with the "-pause" command line option.

    Invocation of gbr2tiff.exe is done in one of four ways, i.e. a transform file specification or plot window specification in conjunction with a GERBER file type specificaion:

      a. [path_to_gbr2tiff.exe] [gerber_file] -274x -xf [transform_file]

      b. [path_to_gbr2tiff.exe] [gerber_file] -apt:[acs_aperture_file] -xf [transform_file]

      c. [path_to_gbr2tiff.exe] [gerber_file] -274x [unit_specifier] [plot_window] [dpi_specifier]

      d. [path_to_gbr2tiff.exe] [gerber_file] -apt:[acs_aperture_file] [unit_specifier] [plot_window] [dpi_specifier]

    In each case other optional command line parameters can be provided. For clarity

    plot_window is denoted by -wplot xmin,ymin xmax,ymax

    dpi_specifier is denoted by -dpi:DPI

    unit_specifier is either -mm or -inch

    The plot window model accomodates rotation, mirroring, and scaling. These and other command line options can be readily viewed by invoking gbr2tiff.exe with the "-h" command line option.

    By default gbr2tiff.exe invokes gbrplt.dll with either the -274xbi or -274xbm command line options. These command line options force the booleanization of 274X aperture macro definitions. To turn this behavior off, gbr2tiff.exe can be invoked with the -bool command line option. The -274xbi and -274xbm command line options to gbrplt.dll turn on aperture macro booleanization for inch and mm data respectively. Booleanization is not performed when the gbrplt.dll is invoked with the standard -274x command line option. There is usually no performance hit associated with aperture macro booleanization.

    2. The rasterizers have been fixed to provided improved status reporting. The progress status should always be monotonic increasing.

    3. gbrplt.dll now supports aperture macro booleanization. The -274xbi and -274xbm command line options to gbrplt.dll turn on aperture macro booleanization for inch and mm data respectively. Booleanization is not performed when the gbrplt.dll is invoked with the standard -274x command line option. There is usually no performance hit associated with aperture macro booleanization.

    4. A number of fixes to the gbrplt.dll have been incorporated; these all have to do with rotation and mirroring of the GERBER data. In GBRIP v5.60 the following data were either dropped, misplaced, and/or incorrected processed in the presence of rotation or mirroring:

    circular draws

    all data subject to an SR command

    custom apertures

    These errors were present even for rotations that were a multiple of 90 degrees.

    v5.59 (5/24/2000)

    Different Scale in X and Y
    Developed an efficient method of drawing arcs where the X and Y scale are not equal. This method does not require a cubic order equation and does not use any approximation.

    v5.55 (3/6/2000)

    Increase Aperture Limit
    Previous version supports D-Codes from D10 to D999. This version supports D-Codes from D10 to D9999.

    Increase Macro Aperture Limit
    Previous version limited RS274X Macro definition to 1000 internal apertures per macro.. This version has no limit per macro, but has a limit of 10000 apertures in total apertures.

    v5.54 (2/29/2000)

    Thermal Rotation Angle Bug
    Thermal aperture rotation angle was ignored in previous versions. This is now fixed.

    v5.50 (11/9/1999)

    Floating license
    Network (floating) license support added.

    Add -server option
    By default, license is locked during plotting. (Previous versions release the license immediately at startup.)
    Add -server option to release the license immediately at startup. (Old behavior.)

    v5.44 (9/23/1999)

    Support "Scratch" macro definition
    RS274X aperture macro primitives have a flag that indicates On or Off (paint or scratch) status. This version adds codes to support this flag.

    v5.38 (1/28/1998)

    SR command problem fixed.
    The data loader might load junk data if the input RS274X file does not have a SR command.

    Custom Flashes Not plotted
    Some custom flashes might not be plotted. This has been fixed.

    v5.37 (12/02/1997)

    32-bit DPI enables increased output resolution
    Previous version use 16-bit DPI value, which limited maximum DPI to 32767. This version uses 32-bit DPI value to allow the user to set higher DPI's.

    Change Windows query function parameters
    Added 2 parameters to the query function. One parameter is to force the output unit and the other is to return the extents unit.

    Add unit control to plot window argument
    Added the command line arguments -inch and -mm options to control the unit of -wplot window extents.

    Added Quiet Mode option (Windows only)
    Add -q option to disable progress dialog

    v5.36 (12/01/1997)

    Corrected Calculation Error for media specified in mm.
    Auto-compute media size function did not compute the correct media size when the gerber file was in MM. This is now fixed.

    GBR RIP Page Download Price Artwork Home

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