This page documents the revisions made to the GBR2MIC program. Please consult it to determine if you are running the current version and to see what fixes/enhancements have been made to the program.
v2.62a (12/6/2018)Support for Ubuntu 9.10
This new release checks if libstdc++ is incompatible and chooses an older vintage of the library during installation. This was needed to support older versions of Ubuntu such as 9.10.
v2.62 (11/6/2018)Software Updates
Added an option to end conversion when error occurs.
v2.61 (4/26/2018)Large arc radius issue
This version fixes the big arc issue by automatically passing the ArcSag value (set in the Configuration dialog) to the pre-processor.
The following conditions were trapped while processing this file An AS Axis Select mass parameter was encountered or set by user An MI Mirror Image mass parameter was encountered or set by user At least one large vertex count polygon was broken up into smaller pieces Data extents exceed 31 bit integer range Data extents exceed original Format Statement Essentially identical dcodes were removed Essentially identical macros were removed Exceeded highest alllowed Dcode: 9999 File rewritten: polarity changed as per user (-ippos:1) or policy File rewritten: was %FSLI now %FSLA File rewritten: was %FSTA now %FSLA Format Statement exceeds eight digits Multiply defined decodes were encountered Redundant LPD and/or LPCs removed
Modified the GUI to enable the button for the Configuration dialog (only if Auto Use Previous Configuration is not set). The ArcSag in the config dialog value must be set to the intended value before selecting an input file. If the value is changed after selecting the input file, it must be re-selected again to reflect the change in pre-processing the file..
v2.60 (3/27/2018)Software Update
The default chord error is changed from 1um to 0.1um.
v2.59a (2/27/2018)Software Update
This version fixes an issue that was manifest when redundant (consecutive) %LPC*% and %LPD*% commands were issued for empty layers. This condition caused the Gerber preprocessor to compute incorrect file offsets to the Gerber file's internal layers which in return resulted in incorrect rendering of the Gerber layout.
v2.58 (2/17/2018)Software Updates
Fixed an issue where a single polygon, made up of digitized areas connected by "cutlines", is dropped. The boolean function that processed/repaired holes and cutlines was updated.
v2.57 (9/1/2017)Bug Fix - Multiple aperture
Fixed a bug with multiple aperture substitution.
v2.53 (3/7/2017)Bug Fix - Working Directory Crash
Fixed a crash when the Working Directory is clicked from the drop-down menu. This was caused by the directory dialog not being created beforehand.64 Bit - split274X Parser
Added code to check if the machine/OS is 64 bit; if so the 64 bit version of split274x is used to process the incoming Gerber data. This allows larger maximum vertex count polygons that the 32 bit version cannot handle.
This was implemented to address a customer file that had a single polygon made up of more than 600,000 vertices. The 32 bit version of split274x could not handle such a polygon but the 64 bit version was able to break this polygon into multiple smaller polygons (each with < 32K vertices.) To perform this operation the 64 bit version used about 8GB of virtual memory (something a 32 bit implementation could not address.)
v2.51 (8/25/2016)Software Updates
Modified gbr2mic to pop-up an "Error" instead of a "Success" message box on failure.
v2.30e (2/17/2016)Software Updates
This release takes care of three issues reported by clients.
v2.30c (4/21/2015)Large Macro Count
Enhanced multi-aperture support to include optimizations to remove redundant/equivalent DCODE and MACRO definitions. The following reductions were observed in real customer data with files that included over 50000 macro definitions.
v2.30b (2/21/2015)Large Vertex Count
This version fixes an issue with related to a problem that was the result of extremely huge vertex count in a single polygon (> 4M vertices). This problem required some optimizations to reduce translation time from 8 hours to 10 minutes.Vertex Count Limitations
There is no limit on number of vertices with polygons that do not contain circular data.
However, polygons, I.e. G36/G37 codes, with even a single circular command are still limited to 500K vertices after segmentation.
v2.30a (2/10/2015)Large Circle
This version fixes the large radius issue. Internally the large radius causes an integer overflow in the rip database. This problem is avoided by segmenting the data on the fly. Since the end user supplied circular and segmented data it would have been nice to get the segmented data to be able to compare the ST files, but only the circular data was provided.
v2.30 (10/9/2014)64 bit version
This is the first release with 64 bit modules to support output files over 4GB. In particular one of the modules gdxmiclf (the LA/MIC file formatter) comes in two flavors 32 and 64 bit. The 32 bit module is first launched to preserve backward compatibility and if it decides that it will not be able to create a proper output, it will spawn its 64 bit sibling (gdxmiclf64) to complete the same task that was demanded of it and then kill itself when gdx2miclf64 completes.
v2.28A (08/5/2013)Incorrect extents in output file
The extent problem was related to using the largest dimension of a rectangular flash to compute extents. Now height and width are used.Folded polygons in Gerber file
A client file included many folded polygons, 7 of them were not converted properly. This version fixes the issue.
v2.28 (06/18/2013)Incorrect extents in output file
This version has a new formatter gdxmiclf which fixes the extent issue with a customer file. The problem was related to extent calculation of one dimensional AREF data. These are directly related to SR constructs in the GERBER input files.New gbr2mic front end
The version has a new front end shell gbr2mic which manifests the correct version number and a new Configuration dialog which now exhibits much improved behavior when the display server is Xming running on a PC. Previously the widgets attached to the Compaction group were displayed poorly.New xgbrvu viewer
A new version of xgbrvu is also provided. The previous version of xgbrvu erased the macro file generated by the gbr2mic shell. This would generate a crash during subsequent translations under certain conditions. This problem has been fixed in the new xgbrvu.
v2.27 (11/10/2011)Incorrect G36/G37 polygon containing circular data
GBR2MIC failed to convert Gerber file which contained "bad" G36/G37 polygon containing circular data. This has been fixed.
v2.261 (9/8/2011)Internal layers bigger than 2GB
GBR2MIC failed to convert Gerber file with internal layer that is positioned after the 2GB mark. This has been fixed.
v2.26 (6/12/2011)Chord Error
GBR2MIC failed to convert Gerber file due to very small Arc Resolution.
In this new version, if the chord error is set then it will determine smoothness,
otherwise smoothness is determined by the arc resolution. This is a new policy and we hope it will make it easier to use the Chord Error parameter.
v2.25 (4/29/2011)Large file support
GBR2MIC now supports files over 2GB in size. Customer problem file was 4.5GB Gerber file.
v2.23a (8/20/2010)Flash Interpretation
Our GBR2MIC front end had trouble with a draw that collapses to a flash and no X or Y coordinate value
appeared explicitly with the D01.
X0013215250Y0030720381D03* G54D201* X0012217030D02* D01* <----- this Draw-To should become a flash X0012799642D02*
v2.22 (5/10/2010)Number of vertices per polygon
The number of allowed vertices in GBR2MIC has been raised to 512K (previously 256K).
v2.20 (4/14/2010)Polarity Error
The orientation of a circular boundary was handled incorrectly causing a scratch image instead of filled.
This has been fixed.
A Gerber polygon with more than 32000 vertices wasn't handled correctly by the translator.
v2.18 (3/11/2010)Negative I J values
Data was dropped during the conversion when an array has negative IJ values. This has been fixed.
v2.17a (2/04/2010)Polarity Error
The orientation of a circular draw with non-zero width was
incorrect when segmentation was turned off. This resulted in "scratch"
data in the ST file when in fact the data should have been "paint". When
the arc was broken up into segments the output was correct.
First Linux release of GBR2MIC. This new version supports Flexlm floating with LM_LICENSE_FILE or ARTWORK_LICENSE_FILE environment variable to point to port@machine_name.
v2.16 (11/17/2009)Error in processing composite curve with over 4000 vertices
The problem with this issue is related to the fact that Fill-On-Fly (POEX and G36/G37) data is treated as a "composite curve", i.e. a closed region whose boundary is composed from a sequence of a entities such as arcs (Gerber circular data G02/G03 data) and zero width draws (G01 data). There is no restriction regarding the length (i.e. vertex count) of the zero width draws; However, internally to the flow at one point these are chopped into pieces with maximum vertex count equal to 4000. The problem was due to the fact that the pieces which should be organized "tail" to "head" were not. A vertex between the "tails" and "head" was dropped which resulted in a "composite curve" with a gap.
v2.15 (9/2/2009)Error in interpetation of Gerber file
The issue had to do with a Gerber file that was the concatenation of multiples 274x files. Even though it is supported, the filter that provides support for this capability incorrectly converted circular data to G01 linear data. This was a special case of G02/G03 data used to draw a circular fill area. The original code anticipated that G02/G03 codes used in G36/G37 blocks be part of something larger than a single coordinate, i.e. a circular fill.Illegal polygon in Gerber file
Because the Micronic software is sensitive to illegal polygons, data is qualified and checked before conversion to LA format in both the GBR2MIC and DXF2MIC. The dropped vertex was the result of incorrectly repairing a polygon that was detected as having a small notch (< 0.010 um). The repair for the particular condition that was detected has been fixed.
v2.14 (7/24/2009)Extent data
GBR2MIC reported extents of LA file that were off by 1 micron when Gerber data was reversed. This issue was fixed.MICVU Windows
MICVU for Windows major release. This version supports the latest Flexlm licensing and includes all the features available on the Solaris version.
v2.12a (7/24/2008)Micvu paint/scratch issues with Micronic files
MICVU didn't display correctly paint/scratch data of LA files created directly by Micronic's Job Planner. This issue was fixed.MICVU Windows
MICVU for Windows major release. This version supports the latest Flexlm licensing and includes all the features available on the Solaris version.
v2.12 (4/11/2008)Data Extents too large
GBR2MIC would output an LA file with extents larger than they should. This was due to a very shallow arc. This issue was fixed.Warning during scanning phase
A very large Gerber macro caused a warning at the scanning phase. This issue was fixed.
v2.11 (3/4/2008)Polygon in wrong polarity
GBR2MIC would output a polygon with reversed orientation, resulting in a scratch rather than the desired paint). The problem as usual is the result poor quality customer data (that seems to be the nature of GERBER). This is issue has been fixed by adding the same polygon checking/repair code that was recently added to DXF2MIC.
v2.10 (2/28/2008)Paint/Scratch layers
GBR2MIC would crash when the number of paint/scratch layers exceeded 512. This had been fixed and the limit now is 1024 paint/scratch layers.
v2.09 (11/30/2007)Path Issue
GBR2MIC would crash when the path length was more than 1000 characters.
The limit is 10000 now.
Extent reported in LA file was sometimes much larger than needed. This was fixed. This problem was the most severe in the context of GERBER files with large offsets, i.e. not centered about 0,0 and contained SR or LP blocks with extents were on the order of the GERBER file offset from the origin.
v2.08 (11/4/2007)GBRUnion Speed Improvement
The speed of the GBRUnion module was improved by a factor of 2-4 in Compaction mode on the test files from LMTEC.
v2.07a (10/27/2007)GBRUnion Module Added
The GBRUnion module has been integrated into GBR2MIC. This module can unionize the input data prior to conversion and produces a MIC file that rasterizes much faster. It is primarily intended for very large Gerber files that can take hours to rasterize.
The GBRUnion module requires a separate license feature and when turned on it may require a longer conversion time. However the total processing time (conversion time + MIC raster time) is greatly reduced for very large files.
There are five modes of operation now.
This version runs on Solaris 8 and 10.MICVU fix
Micvu now supports 32 bit (true color) enabled displays. Bug reported by Frederic.274X update
This version incorporates our latest Gerber RS274X reader.Support for complex boundaries
This version supports complex boundaries with up to 500,000 verices in one polygon. Bug reported by Advanced Reproduction.SR Support
This version has better support for the SR command. A bug was fixed when the SR values were negative.
v2.03 (02/16/2007)File size limit corrected
GBR2MIC failed to convert a very large Gerber file. The upper size limit has been greatly increased. [submitted by:Phoenix Precision Technology in Taiwan]
v2.00 (08/31/2006)Supports Gerber File with multi aperture definition and a footprint of over 2GB
GBR2MIC had a problem with a multi-aperture (same aperture defined twice with different values) as well as a flat footprint of over 2GB. Both issues were corrected. [submitted by: Lasertech]
v1.99 (06/14/2005)Add Support for Gerber files with more than 7 digits of accuracy
GBR2MIC failed to convert Gerber files that more than 7 digits of accuracy. This is now supported.
v1.97 (11/12/2004)Improved Gerber RS274X reader
Upgraded the Gerber 274X reader to the latest code. That includes several enhancements we made in our other Gerber products. This version also includes the latest Gerber viewer with better support for 274X files in both viewing and plotting.
v1.93d (08/30/2003)GBR2MIC library problem
GBR2MIC failed to scan correctly Gerber files with duplicate aperture definitions on Solaris 2.8. Problem was fixed.
v1.93c (06/10/2003)XGBRVU Updates
xgbrvu was not able to view file that started with the LPC command. This is now fixed.
xgbrvu would not load any new MACRO definitions once a GERBER file with MACRO definitions had been loaded, this is fixed.
Messaging appears while the GERBER file is being loaded giving the user better progress information.
The ESC key trapping has been improved resulting in faster GERBER file loading and drawing
v1.93a (03/12/2003)Plotting from the viewers
The plotting module from micvu and xgbrvu was broken. This is now fixed. Reported by Advance Reproductions.
v1.93 (01/12/2003)Multiple 274X files concatentated together
The Mitani files, i.e. the 274X files that seem to have been concatenated together into a single file so that they contain multiple mass parameter sections are now supported. This class of file is now scanned and rewritten so that there are no dcode conflicts. This happens very seemlessly and only when needed. Dcode remapping is reported in the log window. It will create a temporary 274X file with a name of the form
274X files with drawn macro
v1.90a (7/24/2002)Arc Interpolation
Bug report from IBM in Japan. Polygon fill boundary with short arcs and large radius was not handled properly - the program created a bowtie in the .la file.
This problem is fixed.
v1.90 (4/3/2002)POIN Support for line/arc data
gbr2mic now supports POEX/POIN (paint/scratch) data whether the Gerber data is in Polygon mode or just made of lines and arcs.
v1.89 (11/29/2001)Thermal support
The thermal MACRO conversion problem reported by IBM/Yasu.
Large radius arcs
v1.88 (7/10/2001)Gerber format support
The current version now will import the original file with 4.6 FORMAT with a warning with respect to the FORMAT statement. The GERBER viewer (xgbrvu) still requires a legal FORMAT statement (3.6 is OK), i.e. no more than 8 "1/2" digits.
In order to effect these changes the gbr2gdxm engine (GERBER -> GDX engine) and the gbr2mic shell had to be modified.
This version now includes the solaris version of our most current RS274X importer rs274xjb.
v1.82 (3/20/2000)Composite polygon direction
v1.71 addressed a composite polygon direction bug. There was one case involving arc (circular) data that was not addressed properly. This has been fixed in v1.82. In v1.71 this remaining case manifested itself as a polarity reversal for polygons that included arc data. If this same arc data was "segmented" then the reversal problem would disappear.
Problem with boundaries with more than 4096 vertices
Non supported 274x commands reported in log file
v1.71 (12/9/1999)Translation Speed Up
For Gerber files with polygons with 4000+ vertices, translation time is reduced. This version no longer cuts polygons into smaller pieces for translation. A test file that required 80 mins. to convert with version 1.70 now converts in 8 minutes.
Fix Composite Polygon Direction Bug
v1.70 (11/22/1999)No output for uppercase input file name
If the Gerber input file had a name with all upper case characters, no output was generated. This has been fixed.
Very Long Translation Time
v1.60 (11/05/1999)Jumped from 1.56.
Custom Aperture for RS274D Gerber Input
The file is provided and specified as the Custom Aperture file in the Configuration dialog box. GBR2MIC will treat this in the same way as a RS274X custom aperture definition.
Maximum Number of Vertices for Boundaries
Micronic Aperture File to Artwork Format
POEX/POIN emulation for RS274D files
2. All scratch polygons must be completely surrounded and may not "touch" their parent polygon.
3. Both parent and scratch polygons must be simple and closed.
v1.56 (10/11/1999)Output Resolution
Database resolution increased from 100nm to 1 nm.
Cleaner MIC Output
v1.54 (08/26/1999)Command Line Input Specified
When a command line input gerber is specified (-274x), this version does not pop up the main Gbr2mic motif windows.
Negative Image Border
RS274D Aperture File
Removing Rs274mac File and GDX File
v1.53 (08/06/1999)Arc Segmentation On/Off Toggle Added
A toggle for the segmentation of arcs has been added at Micronic's request. Apparently certain functions of the new rasterizer cannot support data with arcs - hence the need for arc segmentation.
Added Support for RS274X command IPNEG
Updated 274X Import Routine
Fixed Problems with MIC 1.5 Formatter
v1.26 (04/21/1999)Incremental Gerber Data
Older versions would treat incremental gerber data as absolute data even if users specify incremental in the Configuration. This has been fixed.
RS274D Gerber File
Also added helpful hints to tell users that 1 and only 1 merge output is needed to translate RS274D gerber file. Older versions would not generate any output or warning/error message is a merge output is not specified.
v1.25 (02/26/1999)Windows Position
1.22 and 1.24 would not remember the windows position correctly once a while. This has been fixed.
MDA Input Gerber Files
v1.24 (02/24/1999)Translation Engine
Improved reporting and booleanizing.
Error Report for Gbr2mic.bat
v1.22 (02/22/1999)Batch Mode Warning
Generating multiple batch files before translating might cause a problem of corrupting custom aperture information files "rs274mac.*". This version warns users if they try to generate more than 1 batch before translation.
Auto Run Translation
v1.21 (02/12/1999)Launch Formatter
This version launches the formatter gdx2mic with input file in .vu extension instead of .gds.
v1.20 (01/28/1999)Batch Translation
Starting this version, all translations are done in a batch file fashion. A batch file will be created and then the batch will be executed even in non batch mode. The behavior of batch mode and auto RS274X mode stay the same.
Auto Use Previous Configuration
This version saves ArcRes setting to the aperture as ArcRes2. So that Xgbrvu and Gbr2mic have it's own separate ArcRes setting.
v1.16 (01/13/1999)Jumped from 1.14.
Benchmark Report in Log File
This version adds a summary of the translation to the end of the log file. In general the Log file has been greatly enhanced so that timing and file size at each major module is clearly defined. Cookie Cutting
This version only performs cookie cutting when required. It knows that a cookie cut is only required where there is scratch data. So a preliminary check is done on scratch layers to determine which frames must be cookie cut. This can significantly reduce the amount of processing for files where the scratch data only covers a small percentage of the overall image.
v1.11 (12/18/1998)Sliver-like Data No Longer Dropped
Data was being droppped by the formatter in trying to eliminate artifacts from the output stream. Code incorrectly misidentified narrow slivers as being zero area data. This was fixed.
Frame Appear Solid Even Where Scratch Data Appears
v1.10 (12/15/1998)Very Large File Support
In exploding the Gerber database, the resulting flat file could be very large and could not be loaded with full buffering into GDSXMIC. Now if the file is too large it loads without buffering, otherwise the file is loaded into memory as before. The maximum file size parameter is determined by the Maximum Translation Memory field in the File | Preferences| Memory.| Frames | Options pulldown.
v1.09 (12/08/1998)Multi CPU Support
Version 1.09 can take advantage of multiple CPU's. The user can set the number of CPU's to use via the dialog:
File | Preferences | Memory | Frames | Options.
Batch Mode Now Calculates Total Time
Fixed Licensing Bug in Batch Mode
v1.08 (12/02/1998)RS274D Input Files
This version works for RS274D input files with 1 and only 1 composite output on the input files. Older versions would generate translation problems if translation is started without going into the Merge dialog. This has been fixed.
Automatic Batch Mode
$ gbr2mic gerberfile.gbr -out:output.la -274xIf you only want to create the batch file and not actually start the translation process you should use the -batch command.
$ gbr2mic gerberfile.gbr -out:output.la -274x -batchthe gbr2mic -h option now includes this command.
Translation Time Report
Time is now reported in the following format:
Times: elapsed: 0(min.) 1(sec.) total: 0(min.) 7(sec.) Wed Dec 2 19:23:19 1998This is reported for each stage of the translation. Elapsed time represents time elapsed up to that point. The total time at the end of the log file represents the total time for the whole translation and should be used for benchmarking purposes.
Control Dialog (Button Box)
1. Set the flag: gbr2mic.RememberWorkingDir: 1 in $HOME/gbr2mic.Xdefaults. 2. From within GBR2MIC use the File|Preferences|Working Directory dialog to select the desired directory for output. To unset this feature, set the flag: gbr2mic.RememberWorkingDir: 0 Note: the space between the the colon (:) and the value 1/0 must be a TAB.
v1.01B (10/09/1998)Frame Size
Added frame size control for translation. This may be useful on files that are very dense. We will do further work to determine how the frame size affects speed and accuracy of the resulting MIC file.
MDA Format Gerber File
Reduced Memory Footprint
Fixed Output Error in MIC 1 Format
Improved Boolean Routines
Radically Improved 274X Import/Parse Routine
GUI ImprovementsFile Selection Dialog
When selecting RS274X or MDA gerber files, the selection box is changed so that only a single file can be selected. The selection no longer implies that more than one such file can be processed at a time.
Disable Select Aperture Dialog
Enable Gerber Viewer Button
Added Remove Overlap Option
RS274D Merge Control Added the required dialog/menu so that multiple RS274D files could be merged either as paint (positive) or scratch (clear) layers. Also controls the output file name(s).