This document summarizes enhancements and fixes to GBRVU/W. Please consult this page on a regular basis to determine what changes have been made to our programs.
This fixed problem of incomplete unionization. There were exceptions encountered that were not handled. This caused some data to be output without having been unionized.
Revised GerberUnion flow to skip Gerber SR cellWhen sizing iS nonzero, the program that optimizes unionization for SR data, gdscomp64, is skipped.
Updated Gerber ValidationThe split274x was updated.
The "Gerber Union" tool has "Arc resolution" and "Chord error" by which circular data is segmented to. It also has "Circular Control" which has its own chord error, by which segmented data is circularized to. This control used to only allow positive nonzero values to be entered.
This restriction was revised to allow for blank or zero value so as to automatically compute an optimal chord error. The computation involves the following:
1. When circularize_chord_error is zero or blank, the minimum nonzero circular aperture diameter is compared against its default value, 2um or its equivalent, and the smaller of the two is used.
2. The minimum arc segmentation chord error allowed is 0.01um or its equivalent.
3. The circularize_chord_error is enforced to be eight times the arc segmentation chord error.
When this mode is invoked the following occurs:
The "Tools" menu is revised to only show these menu items: Drill, Report, Layer Offset, and Film Merge.
The "Export RS274X" dialog box launched from "File"|"Export" menu item will only support "Output Mode" "Standard".
Programmer's notes: The mode is activated with the existence of asm50x.txt in same executable directory.
Layer count greater than 131572 caused memory corruption and lead to failure in processing layer data and could not be displayed.
Updated Boolean ComponentsThe Boolean libraries used by GerberUnion have been updated to the most recent version.
Updated the Gerber validation module.
The Boolean libraries used by GerberUnion have been updated to the most recent version.
Updated the Gerber validation module.
The Boolean libraries have been updated to the most recent version.
Updated the Gerber validation module.
Reduced sleep time of the wrunbat module between program launches.
The Boolean libraries have been updated to the most recent version. Specifically, the speed of the boolean engine was improved when sizing is used.
This problem manifested itself as a problem because comma is used as a
delimiter in the job file (a dynamically created resource file) for the
actual import of the Gerber data into various modules. If the path or
base name contained one or more commas this would/could cause some
confusion when reading the job file. This has been fixed.
Note: This was done in v3.57
The Boolean libraries were updated to the lastest versions.
Fixed a problem when a file name or folder name had a comma. This problem manifested itself as a problem because comma is used as a delimiter in the job file (a dynamically created resource file) for the actual import of the Gerber data into various modules. If the path or base name contained one or more commas this would/could cause some confusion when reading the job file.
Added tool scanning for drill slots (G85) and Rout (G00) commands.
Added zero inclusion scan for drill slots and rout.
Added support for drill slots (G85) and Rout (G00) commands.
New boolean engine with improved speed.
Updated to support revisions to GBRUnion and its supporting modules.
Fixed Polygon AssumptionBug Fix:Assuming Polygon Input is LEONOV when "skip_gdscompact" is invoked. If gdscompact is skipped, the input data comes from gbr2gdxb engine which does not produce LEONOV polygons. This incorrect assumption has now been fixed.
For Input Files with > 1000 Layers, Skip GDSCompactThe GDSCompact routine is skipped over when total Gerber layer count exceeds 1000. Why? Performance Issues?
Job File Reading Speed Improved
The job file read module was significantly sped up for files with large layer counts
Updated Boolean LibrariesThe Boolean engine library used by GBRUnion has been updated to the most recent version.
Updated Gerber Validation ModuleThe module that validates the input Gerber file has been updated.
Gerber Interpreter UpdatedThe Gerber interpreter module has been updated to handle input files with very large layer counts. Prior to this update, input files wit >48,000 layers caused problems.
The 'x' multiplication operator was being supported but not the 'X'. This has now been fixed.
Scaling large files over 2GBScaling would fail and report error when some of the intermediate files were over 2GB. This has now been fixed.
Boolean and Gerber validation components have been updated.
This version was compiled with VS2015. VS2008 is discontinued.
Boolean components were updated.
Gerber validation components were updated.
Merging stage (gdsfilt64.exe) input/output synchronization was fixed on Windows.
Boolean components were updated.
Alter boolean flow for Manhattan sizing -manh and -dirtydata.
Fix for memory corruption when -dirtydata or -manh with non zero sizing was used. When these arguments are encountered, the boolean step is altered. This means that the intended boolean engine command line is processed and altered to become two command lines. The memory corruption occurred when an argument greater than 260 characters was encountered. This can happen when there are a large enough set of Gerber mass parameters, Layer Polarity Dark/Clear switches (i.e. %LPD*% and %LPC*).
Added "-dirtydata" argument and alter boolean flow for manhattan sizing. If -dirtydata is present in gbrunmgr command line or manhattan
sizing is found, the following will occur :
(a) Data will be unionized separately in each layer.
(b) It will be sized by 10 percent of target size.
(c) Data will then be unionized sequentially.
(d) It will be sized by target size minus 10 percent of target size.
New boolean flow for Manhattan sizing.
Fix -macro_tol command line parsing.
Update Gerber validation component and boolean components.
New "Mesh Adjust" option in the Preference menu - This will slightly grow apertures to handle mesh hatches with edges that barely touch. Validation must be set in "Preferences" for this to work.
New "-mesh_adjust" argument to the Gerber union manager - This works the same as in the Gbrvu as long as it is not called with "-nosplit".
Gerber union manager fix to -macro_tol argument parsing.
Updated Gerber validation and boolean components.
This version fixes a problem where Gerber Union was failing to translate properly files with spaces in the name.
All GerberUnion settings will get saved when user hit OK in the main dialog.
Removed single thread restriction in embedding level of Gerber Union.
This version fixes a problem with the Gerber Union interpreter when two point trace draws done on the same point and failing to draw correctly.
When in query mode, hitting the tab key will advance the query to the next object instead of the next vertex.
Query mode now highlights every object instead of just flashes.
This version fixes a problem with traces drawn with vertex count greater than 65536.
The sliver control was missing in gbrunmgr command line call. This has now been fixed.
Some arc draws caused a crash when arc direction was clockwise. When segmenting such arcs, the absolute value of the difference between the starting and ending angles was required to compute the number of arc segments. This has now been fixed..
Added "Optimize for Viewing" Option in Preference menu - This option makes input file more manageable for the viewer by
configuring validation to circularize and reduce the maximum amount of vertices for boundaries to 32K. Note that if circularize is already set, validation will us the user setting for chord error instead of 1um which it is set to use automatically for optimization..
Errors and warnings for processes are more informative.
Invoke logging for gerber layer and aperture import.
Call GDSFILT only when there are multiple input gerber files.
Automatically stops execution when error is detected - If any program launched by Gerber Union returns an error code, Gerber
Union will terminate itself.
This version fixes an overlapping issue that occurred when exceeding max points or with manual partitioning.
Enhancements have been added to boolean engine with respect to validation.
Unionization has been improved to be nearly thread independent
This version includes the latest Gerber union modules.
Currently, this licensing scheme fails on terminal servers (remote desktop).
To clarify the failure, any recently updated installation or any recently updated licensed program will now determine whether it is remotely or locally executed and launch a warning message if determined it had been launched remotely.
During installation, the message will appear, and the installation will finish without checking.the license.
During execution of an updated licensed program the message will appear just before reporting a license failure.
Circular data is drawn more quickly at low zoom levels by controlling arc resolution.
When the Display Filter is active, arc data is rendered with a chord error that corresponds to the Display Filter value,
i.e. it is independent of the Arc Resolution parameter in File->Gerber Settings...->Arc Resolution.
When the Display Filter is *not* active, arc data is rendered with a chord error that corresponds to two screen pixels.
Added "Thread Number Control" to main dialog. Allows user to set the maximum number of threads to be used during any process.
The default value (blank or 0 value in the "Thread Number Control" text field) corresponds the number of cores.
Added "Engine Arguments..." button to bottom of "Gerber Union Advanced" dialog.
This button launches "Engine Arguments" dialog containing three
edit boxes for appending command line arguments:
Manager -- For gbrunmgr engine arguments. This is only used
for single file input. Multiple file will not use this.
Boolean -- For boolean engine arguments. This enginie is for unionization.
Gds Compact - SR -- For gdscompact engine arguments. This engine is for optimizing unionization when encountering RS274X (S)tep and (R)epeat mass parameters either greater than one column or one row.
File size retrievals were mistakenly done using 32 bit standard functions instead of 64 bit ones. This has now been fixed.
Maximum layer count increased from 65536 to 262144.
Optimization applied to the following modules:
Layer table length is now dynamic - The amount of layers that are displayable is no longer the maximum amount allowed, currently 262144, but rather whatever is reflected in the open file(s) so long as the maximum is not exceeded.
Recent file history is now saved.
Gerber Union doesn't allow layer count to exceed 65536 layers - A warning to this effect is launched instead of the tool.
Removed MDA and MSK file support.
Revisions to Preference Dialog:
Store View Area controls.
Split274x components were fixed to handle a problem with a file that included consecutive empty mass parameters.
DXF layer base name was not being passed out. This has now been fixed.
GerberUnion MultiLayer FixFailed to locate "rs274xjb64.exe". This has now been fixed.
Update Aperture HighlightAn update message needed to have been sent to this modeless dialog. This has now been fixed.
All relevant executables and DLL's have been ported to 64 bit Visual Studio 2015.
Safenet USB licensing is no longer supported - Flexid USB keys are now supported for node locked and floating license.
Plotting menu and tool bar buttons have been removed.
MDA format is no longer supported.
When Gbrunion started using gbrunmgr.exe instead of the integrated viewer model, "gbrvu.exe", the viewer failed to pass on the arcres and arcsag arguments to "gbrunmgr.exe". This has now been fixed..
Multiple consecutive SR Mass Parameter FixMultiple consecutive SR Mass Parameter are now handled properly and only the last SR parameter is taken into account.
Recompiled DLL for flexl tolerant capability - This allows validation to be retried for communication problem events.
Adapted to use "split274x.dll"This allows updates to be done to the Gerber preprocessor without having
to recompile executables dependent on its code.The current
"split274x.dll" reflects the following:
(a) More implied intelligence is applied with respect to G75 codes.
(b) Bug fix for multiply defined dcodes higher than 40000.
3.46 was accidentally shipped with debug libraries. This has been fixed.
Multi-layer with same Gerber name but different suffixGBRUnion's multi-layer mode failed when the files shared the name but different suffixes. i.e A3434.top, A3434.bot, A3434.IN2 ... This only happens when forced validation is off.
Artwork's Gerber products (viewers, rasterizers and converters) make use of a front end data conditioner called split274x. This routine performs a number of tasks -- one of them is to look for "duplicate" aperture definitions and to merge them. A default tolerance of 1 um is used to determine if two nearly identical apertures should be merged.
One of our customers is now working at such precision that a 1 um "snap" of aperture is too large and has asked us to modify this behavior.
We've implemented this change via a command line on the gbrunmgr command line (as our customer does this operation in batch mode.)
Example
The user wishes to tighten the tolerance for aperture merge from 1 um to 0.1 um. This would be done using the argument -macro_tol:0.00001.
gbrunmgr batch manager input.gbr input file -out:out.gds output file -wdir:c:\temp working directory -outputyype:gds_stream output format -arcres:9 arc resolution -macro_tol:0.00001 sets tolerance for macro merging to 0.00001
Replaced "-no_part" argument with -single_part argument in GBRUNION.
The "-single_part" argument forces the compaction and Boolean routines to run in single threaded mode (multi-threading is the reason that output data appears to be sliced - the slices are where the data has been divided into separate threads.)
The -no_joinpart command line argument is removed.
Updated Flexlm to version 11.13.1.2.
GDSII output in GerberUnion is safe guarded against circularize option.
Fixed a problem where arc traces with radii greater than width were segmented incorrectly.
When a butterfly figure interacts with something else it created a self touching polygon which was problematic for subsequent boolean operations.
After union, some polygons with touching holes had very acute angles touching butting lines mistakenly, causing gaps in the data. This has been fixed.
The text file passed to gbrunmgr's (-polywin:file command line option)" now accepts comma and tab characters in addition to space characters as delimiters for xy coordinates.
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.
Certain cases of smoothing and the amount of partitioning resulted in cracks appearing in the polygons generated by GerberUnion. This was because the partition edges were not being excluded from the smoothing.
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.
File extensions - Files with same base name and different extensions
were being treated as the same file. This has now
been fixed.
Gbrutil Launches - Since this application launched Gbrvu with files not
containing a file extension, this condition also
presented a problem manifested by a program crash.
This has now been fixed.
Allow unit specification where unit can be INCH, MIL, CM, MM, or UM. This has been added for the following arguments: -arcsag:val[unit] -diameter:dia.[unit] -diameter_lpc:dia.[unit] -offset:x[unit],y[unit] -xform:xform_parms Set transformation settings (comma separated). xform_parms is rotation_parms,mirror_parms,scale_parms,offset_parms rotation_parms are anchor_x[unit],anchor_y[unit],rotation mirror_parms are mirror_x,mirror_y scale_parms are scale_x,scale_y offset_parms are offset_x[unit],offset_y[unit] -overlapvalue:value[unit] -circularize[:chord_err[unit]] -reversal:marginx[unit],marginy[unit] -sizingvalue:value[unit] -smoothingvalue:value[unit] -smoothingvalue:value[unit] -window:xmin[unit],ymin[unit],xmax[unit],ymax[unit]
Floating licensing scheme has been fixed for the following features:
Gerber Union (boolw32f.exe, bool64f.exe, gbrcomp.exe, gbrcomp64.exe)
Rs274x/Export (pentax.exe)
The wrong libraries were linked into the components mentioned above. This has now been fixed.
The problem manifested itself on certain license servers depending on the version of that flexlm server.
Updated the licensing modules to address customer reported issues.
"Import Settings" group has "Force Validation" check box.
If option is On, it will always occur. If off, it will run under the following condition:
Viewer integrated code with respect to Gerber Union was switched to the use of the Gerber Union executable, gbrunmgr.exe, in v3.42.
This transition was incomplete because it did not account for the "Transformation Settings" in the "Advanced" dialog of the
"Gerber Union" tool. This has now been fixed.
Gerber Union executable displays "Usage" dialog box if simply clicked on.
Incorrect command line arguments are detected and reported in in the new "Usage" dialog box.
Redundant "*_cat.log" files are removed.
Added -xform:xform_parms argument to Gerber Union executable.
This sets transformation settings (comma separated).
xform_parms is rotation_parms,mirror_parms,scale_parms,offset_parms
rotation_parms are anchor_x,anchor_y,rotation
mirror_parms are mirror_x,mirror_y
scale_parms are scale_x,scale_y
offset_parms>are offset_x,offset_y
This is now applied all the time instead of conditionally as indicated below:
Optimization has been applied for handling polygons with large vertex counts.
Robustness has been improved by adding internal checks between steps.
Data was being dropped when sizing was used on a customer Gerber file. This has now been fixed.
Convex partitioning for each polygon required using double comparison rather than rounded integer comparisons.
Gerber Union circularization speed was improved by applying multithreading, and optimizing self touching check.
Arc Resolution in RegistryArc Resolution is now saved in the registry.
Optimized function for disjointing self touching polygons to work faster.
Flexibility in Join Partition of Gerber UnionThis control used to be tied to rectangular partitioning and auto partitioning both being on. This restriction has now been removed. To use it in Gbrvu, just set "Join Partition" check box in "Advanced" dialog of Gerber Union" dialog. To set it in gbrunmgr.exe, just pass "-union" argument.
Fixed problem with missing trace after sizing in Gerber Union.
New LicensingAdopted new Flexlm license model, and no more support for disk serial number.
Gerber union fix to the way the software converted thermals.
Handle empty SR blocks.
Checks Gerber data to see if format is X.Y, that X and Y are enough for
that data. Before, everything that would depend on that format had
scaling problems that would result in an overflow.
Before this, these window extents were altered to reflect the current units displayed. This has now been fixed.
Scale Circularize Chord Error when Gerber Union Scales its DataReduce ADD mass parameters to a minimum amount regardless of the presence or absence of AM mass parameters.
Problem with preliminary step preceding validation and unionization was discovered. This involved removal of overlapping segments in a polygon. The problem was that a given polygon was being conditioned incrementally rather than reevaluated after a given segment was removed. It resulted in a crash. This has now been fixed to fully evaluate a polygon each time a segment is removed.
Max points control fixed.
Folded polygon was dropped but now repaired.
Sized polygon was dropped. Issue was fixed.
Reduce RS274X AM and ADD mass parameters to a minimum amount.
The minimum is approached by detecting similar AM mass parameters and mapping them to one, consequently reducing the amount of dcodes required.
The reduction is applied for files with:
High formats.
Multiply defined apertures.
Over 5000 ADD mass parameters specified or one ADD mass parameter which has dcode greater than 5000.
Improve Circularizing in Gerber Union module.
Extents of SR cells and layers are checked before drawing anything in current view port.
Display filter control has been added to toolbar. The default is on with 5 pixels.
Cleaned up unnecessary message peeking which was slowing down drawing.
Draw interrupt is more responsive for the following events:
Pan middle button down
Mouse wheel up or down
Zoom (Home, Window, In, Out)
Pan
Info ( vertex query, window query, measure)
Redraw
Fill/Outline toggle
View (Last or Next)
Draw interrupt (Toolbar stop or Escape key)
Zoom Factor capabilities improved 100x.
Status messages added to display import and loading stages.
CTRL (Left, Right, Down, Up) arrow pans view port one page.
A 64 bit Gerber Union manager program was created to support large Gerber files. It's called gbrunmgr64.exe
Both 64 and 32 bit Gerber Union manager programs can run 64 bit Gerber interpretations (gbr2gdxb64.exe) and 64 bit SR optimizations (gdscompact64.exe) in addition to the 64 bit unionization (boolw64f.exe) it already uses. On a 32 bit windows OS, the 3 32 bit counterparts, gbnr2gdxb.exe, gdscompact.exe, and boolw32f.exe are used.
Added "-skip_gdscompact" argument. This is used to skip SR optimizations.
Fixed a problem with the aperture diameters output of the new Extract Flash Center.
New option in the Tools menu to extract flash center to a text file based on Advantools Hefei requirements.
This mode automatically partitions input into boxed areas instead of
stripes. This auto partitioning mode will be ignored and striped mode will be
used instead for the following conditions:
Complex polygon with over 250000 vertices was dropped during the union operation. This has been fixed.
Complex polygon was dropped during union operation under certain banding condition. This has been fixed.
Polygons dropped during repairs are flagged as errors if polygon is considered suspect.
XY coordinates for warning/error messages are now specified in floating point values rather than integer based.
This version supports up to 40000 apertures in the Gerber file (before it was 10000).
Dimension FilteringAdded dimension filtering during union validation. For inch it's 0.00004 and for mm it's 0.001. This filtering removes features that are smaller than this dimension when repairing self intersecting polygons
This version supports up to 4096 internal layers in the Gerber file.
This version disables window ghosting which appears in Windows Vista and above.
Before this, drawing was being interrupted by Windows Vista and above.
Larger Gerber files could not be drawn to completion.
If intersecting polygons remained after positive sizing was applied, embedding level grouping could erroneously scratch away certain data. This has now been fixed by applying a second unionization if embedding level is selected along with positive sizing.
The shell has been updated to only allow positive nonzero chord error.
Gbr Union Manager Engine has been updated to set arc resolution to 45.0 when none is specified and chord error is nonzero.
Problem was discovered involving data that was stepped and repeated. If such data exceeded a specific vertex count, it would be processed over multiple threads. It's this multithreaded processing which caused the program crash. This has now been fixed.
When reentrant polygons are stepped and repeated, validation is required on that data to prevent it from being dropped.
Layer Dialog ReorderThis bug was introduced in v3.17 - 08/31/2011. Layers would disappear when reordering. This has now been fixed.
Log file in Gerber ViewThis was done for error checking that was missed from within Gbrvu.
This tool is launched from "Tools | Collect Flashes..." menu item. It allows a user to select any set of flashes and save the selection to a specified output text file. The output format is: Type Format ---- ------ Round X Y Radius Custom Custom X Y 0 0 Other Type X Y Width Height The method for selections are: Type Selects ---- ------- Click First flash where mouse is clicked Window All flashes contained in specified window All All flashes loaded in viewer The type of selectable flashes are: Type Description ---- ----------- Round Rs274X/ACS Round Donut Rs274X/ACS Donut Square Rs274X/ACS Square Rect Rs274X/ACS Rectangle Thermal ACS Thermal Target ACS Target Octagon ACS Octagon Oblong Rs274X/ACS Oblong Thmsq ACS Thermal Square Custom Rs274X Macro Any Any Type The mode of operations will add or remove flashes from the collection.
This fixes problem with Gbrunion RS274X embedding level output. The boolean engine was reporting an incorrect number of layer counts. This condition has existed since 10/15/09. It has now been fixed.
Gerber Union was not able to handle a Gerber file containing layer polarity changes numbering greater than 239. This happened during the Gerber interpretation. This has now been fixed.
This bug was introduced in Nov 8 for changes done in Gbr2DXF involving closing Gerber regions that were not explicitly closed. The closing was applied when it was not necessary. This has now been fixed.
Overflow problems were occurring with a MM file having 3.6 format.
The file was scaled down to 2.6 but still generated overflow problems
because the difference in minimum and maximum extents caused an overflow.
The solution was to scale the data to 3.5 format if the extent overflow
condition is detected.
In cases where an input has more than one layer polarity, the XOR stage requires that such input be unionized. The problem was that the unionization stage was passing bad data that was not validated and subsequently dropped. This has now been fixed.
Raised support for 2048 layers.
Enhancements with respect to Netex-g Labels.
Support netexg padstack label display.
Support netexg filtering of labels displayed.
Handle inefficiencies for removing large groups of labels.
GBRVU had problems loading multiple Gerber files which had missing internal LPD commands. The software was improved to support that.
The Gbrunion command line engine was having problems interpreting Gerber data w.r.t. closed regions when encountering format statements in excess of 8 digits. This has now been fixed.
GBRUNION Circularize bugMain chord error control was not used when circularize was checked but disabled. This has now been fixed.
Output that is set to be scaled or to be a unit other than the input was not scaling the circularize chord error. The result was that the amount of scaled data converted to circular data was different than data without scaling. This has now been fixed.
GBRUNION DXF output bug with long namesFor DXF output, the file base names are used for layer names. Since long layer names present a problem in some DXF versions, the layer names that violate are truncated into a unique layer names.
The wrong droplet was moved when another droplet was selected during editing. This has now been fixed.
Added "Tools | Layer Offset..." Menu ItemThis launches the "Layer Offset" dialog box which allows offsetting any set of files opened from their original position.
Zoom Window New FunctionalityIf the window formed is done dragging the mouse right to left, the viewer will zoom out. Otherwise, it will work as before.
Added "View | Zoom To XY Coord..." Menu ItemThis launches the "View Area" dialog box which allows a user to either zoom into a specified window or specify a center - width - height set of values to zoom into. A virtual window marker or cross hair marker will also appear, if the user requests it.
Added "Min Void Area" Settings - this allows the user to define a minimum value so voids will be smaller than this value.
When tracing an object, 't' will trace forward and 'T' will trace backwards.
Edge Rasterizer - Edit Droplet Location dialog box revised
Hitting any directional button will immediately move the selected droplet.
Hitting "Cancel" will restore it to its original position when it was selected.
Hitting "OK" will leave the droplet in its current position.
If an SR mass parameter is in a layer polarity not containing data, it had no effect on the subsequent data. This has now been fixed.
Added unit information to Info dialog.
GBRUNION RotationAllow any rotation in Gerber Union as oppose to only 0,90,180,270.
Added View | Unit DisplayThis launches the "Unit Display" dialog box which is already accessible from the "Preferences" dialog box. Alt U" MENU ITEM.
The circular boolean engine has been updated to handle a bug with respect to missing polygons caused by certain intersections of arcs and straight line edges. Polygons were missing because of this. It is now fixed.
Transformation Settings
Added "Transformation Settings" to "Advanced" settings.
These settings provide control of:
Anchor Point -- point to mirror and rotate about.
Rotation -- 0, 90, 180, and 270 degrees counter clockwise
Mirror -- (X ==> mirrors across Anchor Point Y),
(Y ==> mirrors across Anchor Point X)
(XY ==> mirrors both X and Y)
Scale -- Scale in X and Y
Offset -- Translete data by (X,Y) offset
When enabled the following controls are disabled:
-In Gbrunion main dialog
(a) "Output Scale" edit box
(b) "Use Circular Boolean" check box
-In Gbrunion Advanced dialog
(a) "Placement" controls
Added "Overlap" option to "Advanced" settings. When active, this option overlaps adjacent polygons along their butting edges by the value specified in the GUI. If a hole is smaller than the overlap value, then polygons will be used to cover the butting edges intersecting these holes.
Boolean Engine UpdateAdded handling for multiply defined apertures in a given Gerber file.
The boolean engine crashed on a PADS file. This has now been fixed.
Add Circularize check box and chord error controls to convert straight line segments into arcs if possible.
That also included disabling the main chord error control and use only arc resolution for Circularize mode.
GBRVU can now handle empty layers beginning with an SR mass parameter.
Small arcsGBRVU converts arcs with end point and radius length less than 3 grid points into lines.
Placement control for Gerber Union
Added placement control for Gerber Union. Three types of placement controls have been added:
Force Gerber Union engine to output data with target grid precision of Gerber output.
This was done to prevent outputting illegal polygons generated from resulting grid snapping.
GBRVU had an installation problem when using the Sentinel key option. This was fixed.
Gerber union DXF output in circular mode had a .1 mil error in the position of an arc under some conditions. Problem reported by Hortek and was fixed.
Add dialog controls displaying the "Notch Depth" and "Pitch Bounds" in relation to the current raster settings. These controls are updated for the following events: (1) When the dialog box comes up (2) When the nominal pitch is toggled between the unit and percent input (3) When the Units are changed in the GUI (4) When the "Update Display" button is hit
The problem occurred when the working directory had spaces in it. In this condition and when window(s) have been selected, Gerber Union would fail to generate output.
Gerber Drill output crashA division by zero caused this when the format was 3.3 or less.
Change to Edge Rasterizer GUIAdd thread number and striping controls.
Gerber view now supports enhanced arc resolution for smoother lines and arc rendering.
Measurement optionsGerber view now supports measurement display in inches, um, and mm
Edge Resterizer new features
Several new features in the Edge Rasterizer program.
With an option to set droplets diameter, pitch and dpi.
With an option to set the units in inches, um, and mm.
With an option to produce just edge pixels or edge and interior pixels.
Converts Gerber to TIFF.
Product version components includes:
Multiple input files selection.
Option to set the droplets diameter, pitch and DPI.
User defined input data window.
User defined transformation.
Interior droplet filling.
TIFF packbits monochrome output.
Multi-Threaded Boolean supporting up to 4 CPU cores.
Gerber view now support USB keys.
Edge Resterizer GUI
Several new features in the Edge Rasterizer program.
Add Advanced settings.
Change fill mode controls. (i.e. removed multiple sizing and changed scan line label to filled)
Add "Specify Window" dialog controls to window settings.
Add output type controls for Gerber or Tiff output.
Hot key
"Offset" field label is changed to "Additional Offset".
Unit display now affects measurement information.
Gerber view now uses the registry to store defaults instead of the gbrvu.ini file.
Gerber Union with circular output had a problem with sizing. This has now been fixed.
At certain zoom levels, a flash is represented as a single pixel if it is too small to draw. The bug was that this was being done for other flashes. This has now been fixed.
Error during Gerber Union with circular DXFWarning messages were appearing in Circular Gbrunion that were not appearing in standard Gbrunion. This has been fixed.
A Bug was fixed for net/node labeling when added from NETEX-G's Labels dialog. Program used to crash. This has now been fixed. Label viewing/editing has been designed to dominate over window selections. This implies two things: (a) The Label dialog OK button saves label changes and window selections instead of the "Select" button normally found in the window selection tool bar of the viewer. (b) The auto on setting for rectangular window selection is not done for label viewing.
Standard Boolean program crash was handled with respect to Delphi problem files set. This has now been fixed.
Circular boolean problem with Hortek filesCircular boolean problems with respect to the Hortek files was fixed. The problems were:
(a) Program errors appeared.
(b) Data was dropped
(c) Polylines that were found open were closed.
This launches a dialog box which controls GBR_RIP from the viewer..
BUG FIX TO NETEXG WINDOW SELECTIONA program crash occurred from changes introduced in v3.06c having to do with setting rectangular selection on initially whenever the selection tool bar appears. This has now been fixed.
REVISION TO PREFERENCES FILE EXTENSION HANDLINGFile extensions separated by a comma were not recognized. The program has been revised to accept commas as well as semicolons.
Consecutive RS274X SR mass parameters with no draw data in between caused the viewer to display data without arraying it when called for. This has now been fixed.
Memory corruption with Samsung filesIn attempts to view more than one of the files at the same time,
the large number of internal layers in combination with aperture
conflicts encountered caused memory corruptions or data truncations
in three areas:
(a) Layer Reordering
(b) Aperture Data Collection
(c) RS274X Importing
These have all been handled.
A problem was discovered in plotting traces with rectangular apertures found in aperture conflicts. Traces were drawn incorrectly because of the problem. This has now been fixed.
This image is a fix for Circular Gbrunion with respect to Hortek problem file. It had problems dealing with some overlapping flashes. This has now been fixed..
Users can now load or edit and external aperture file from the File|Aperture sub menu.
Edit/Copy WindowEdit/Copy Window mouse event handling same as zoom window.
Plot Layers SeparatelyThere was a bug in the extents calculation when using the plot layer separately with window option.
Layer View modeFixed layer view mode.
Layer Table positionLayer table position is now saved from one session to another.
Major changes and enhancements were made to GBRVU and GBRUnion in this release.
File Report Dataadded the following information to the file report: Zero Suppression, data mode (absolute/incremental), circular interpolation and data extents (Xmin,Ymin Xmax,Ymax)
Layer Table Dialog EhancementsRemoved buttons to job and aperture file dialogs.
added a button to re-order the layers. This opens a dialog enabling a user to delete layers, move up, move down and reverse order. Very helpful when the order of the layers viewed is important to what you can see.
Layer ColoringAdded a view mode control (in the layer dialog) with the following options:
by layer - each layer (including internal paint/scratch layers) is assigned its own color rotating through the available colors.
by File - each file is assigned its own color. All internal layers retain the color of the first layer.
as Film - displays all layers with a single color.
Window selection controls now appear in a new toolbar below the main one to allow visibility of all the controls. Previously the window selection toolbars were so far to the right that they could not be viewed on many screens.
Automatic redraw after changing status bar or toolbars to correctly align virtual draws with data.
GBRUNION EnhancementsCreated an Advanced dialog box that adds additional options (these were moved from the main GBRUnion dialog because they are set less often.)
Output Grid - controls the resolution of the output file
Sliver - controls the removal of small slivers
Flatten Only - flattens macros without a complete boolean of other data
Outer Template Mesh - unique to Midas applications
Rectangular Partioning - needed for certain large jobs
Sizing Corner Control - options on how to handle corners during sizing (Manhattan, 3 point, 5 point) (added)
The following controls were moved or added to circular boolean advanced:
Rectangular Partitioning
Sizing Corner Control - Angle (added)
GBRUnion now remembers the last output directory specified by the user and will default to that if subsequent union operations are done. [requested by Steve DB]
Enable "Layer Control" radio buttons for multiple file input.For RS274 output: ["Single File Output" or "Multi File Output"]
For Other output: ["Single Layer Output" or "Multi Layer Output"]
Fixed a problem involving selection windows. After selections were made, a user could not revert to data extents during the same session.
Circular Boolean Partition and JoinPartitioning for circular boolean with embedding level is now allowed. Join partitioning for circular boolean now allowed.
Output Grid has been disabled for circular boolean
Union Step and Repeat OptimizationFor any Gerber files containing relevant SR commands, unionization will be done on the data to be arrayed first. This should greatly speed up the unionization of such files.
DXF Circular DisabledDXF circular boolean has been currently disabled.
Check Union Output File NameDisallows output filename being the same as any input Gerber file.
Fix for High Format Gerber FilesAdded support for maximum points in Circular Gerber Union.
Image Reversal in Gerber UnionAdded reversal option in Gerber Union to generate an inverse image.
Data partitioning support in Gerber UnionAdded data partitioning support, for circular boolean, consistent with standard GBRUNION.
Window selection in Gerber UnionAdded window selection support, for circular boolean, consistent with standard GBRUNION.
Problem passing sizing value to circular boolean was fixed.
Added support for RS274D in circular union.
Bug fix for dropped data in Circular Gerber UnionFixed a bug which caused data to be dropped in Circular Gerber Union.
DXF POLYLINE support in Circular Gerber UnionAdded 0 width closed pline support in circular union with DXF output.
GBRUNION users can now export DXF and Gerber data with true arcs as oppose to vectored arcs.
You can now preview the plot before sending it to the printer.
For file output, changes were made that are curently different from
legacy version:
(1)Cancel from "Save As" dialog will not continue to plot
(2)Default directory in "Save As" dialog is output directory.
There was a state problem dealing with files that did not end with a scratch layer. This has now been fixed.
Keyboard shortcuts menu items which launches floating windowFixed tool bar color button Removed CTRL KEY DOWN functionality for selection. THE FOLLOWING EVENTS HAVE BEEN CHANGED TO... L. mouse down - drag - release to complete event: (a) Zoom Window (b) Pan (c) Query Window (d) Rectangular Selection The following events have been changed to use L. mouse click - move - L. mouse click to complete event: (a) Measure - (Note that measure currently does not work with grid or object snapping) (b) Polygonal Selection NAVIGATING WHILE IN SELECTION MODE Panning: middle mouse ,space bar, and ctrl key Zooming: - add < ctrl + >, < ctrl - >
First release of our new GBRVU.
Show new tool barTheres are four different groups of tool bar buttons:
This button allows user to see layer attribute changes take affect without having to dismiss the layer dialog.
Allow file Drag & DropAny number of Gerber (RS274D or RS274X) files can be dragged into the viewer so as to be displayed.
Auto detect input Gerber files for Auto ImportGerber files are now automatically scanned to detect whether they are RS274X or RS274D to allow window file associations of Gerber files with the viewer.
Modified GBRUNION window selectionThere are now two choices for data selection:
Single layer output failed to generate output. This has now been fixed.
Excess of 255 layersIf the number of files is around 255, the viewer crashed when trying to write to the job. This has now been fixed.
The size of an internal buffer was reducing the number of files displayed to something less than the actual number of input files. This has been fixed by increasing the buffer size.
Equal drills are not removed anymore.
GBRVU crashes when loading many layers from the command lineGBRVU crashed when it was asked to load 24 layers from NETEX-G. This has been fixed.
Bug when generating drill files with space in the nameGBRVU complained when it generated drill files with spaces in the name. This has been fixed.
Added reveresal option in Gerber Union along with XY margin settings for the frame.
This release of GBRUnion (which lives inside of the GBRVU release) uses a new boolean engine that can "repair" certain illegal polygons. This means that the likelihood that a polygon is dropped in the output because the boolean engine deemed it to be illegal (typically a small self-intersecting loop) is reduced or eliminated.
Path to Boundary Conversion Fixfixed a bug when converting a short path (one where the length is less than the width) turn into a boundary. The old routine might generate an illegal polygon which would be dropped.
The pentax export engine was updated to support flexlm node lock licensing. [Reported by Midas Vision Systems.]
Improved Boolean (GBRUnion)The boolean engine has been updated for improvement of polygon repairing during unionization i.e. small errors in self intersection that would have previously been dropped in the output are now repaired and output.
RTL Plot Driver EnhancementAdded support for full page format in RTL -- forces the bitmap dimensions to be exactly the same as the requested page size. The type of RTL output to choose for this feature is one of the following:
HP650C Color Std FP
HP650C Color Fast Enhanced FP
HP750C Color FP
this is a spinoff from updates to GDSPLOT requested by Hitachi.
The viewer cannot handle dcodes defined in the same layer so it rewrites the Gerber file(s) with the remapping of repeated dcodes into the next available ones.
GBRUNION Arc res and Arc sag issueArc resolution and arc sag values were always set to 9 and 0 respectively when multiply defined apertures were encountered. This has now been fixed.
The problem occurred when a G75 or G74 gcode was encountered. There was an internal memory buffer that was overwritten after the gcode was read which reased the x value specified in the aperture. This has now been fixed.
File Export bug fixBoolean engine was fixed for "File | Export" menu item. When the option was set to link zero width polylines into boundaries, lines that were not linkable were dropped.
The viewer and the Gerber Union modules now support extended format statements such as 3.6 and 4.6.
Working DirectoryForce working directory to be the same as the job file when passed as an argument.
The De-Embedding level routine had a bug when running on a computer with dual CPU. It had been fixed.
GBRUnion handles illegal Gerber polygonsWe have noticed that in some customer files, polygons were created incorrectly - small bow ties were created in points were arcs connect to a line. That would create illegal boundaries in GDSII or EGS. The program is now smart enough to remove such small errors.
The automatic extent calculation in GBRUnion did not account the aperture width. This could have caused data on the very edge of the design to be clipped. This has been fixed.
GBRUnion Output fixed for "Islands"Previous versions did not properly output Gerber if the "cutline" option was not checked. This version now supports "paint" and "scratch" (also referred to as LPD/LPC in RS274X).
Limitation - only one Gerber File can be processed at a time.If the cut line button is not checked, the GBRUnion will output a multi-layer RS274X file (assuming this needed) with as many LPD/LPC layers as required to properly create the islands.
GBRVU has a maximum of 8 places dynamic range. Some users were creating Gerber files with formats such as 3.6 or 4.5 which caused GBRVU to behave in an unpredictable fashion. GBRVU now will "clip" the input data using the following rules.
If the input Gerber file is specified as M.N then it will be treated as if it were X.Y by clipping.
Step 1
if ((N < 1) || (N > 6)) then Y = 6 else Y = N
Step 2
if ((M + Y) > 8 ) then X = 8 - Y else X = M
Example M.N = 4.5
Step 1: Since N is neither less than 1 nor greater than 6, Y = N = 5 M+Y= 4+5 = 9 which is greater than 8; hence X = 8-5 = 3 the data is clipped to 3.5Improved Smoothing in GBRUnion
GBRUnion smoothing now has the ability to remove multiple co-linear points when they vary by less than 10% of the smoothing value. This was added in response to a file where the area fill strokes leaked out very slightly beyond the outline stroke resulting in a tiny wave in the outline. The field analyzer mesh circuitry picked up on this tiny wave and generated many more triangles than needed. [reported by Corning-Frequency DE.]
Polygon apertures were missing on output whenever multiply defined dcodes were encountered..
GBRUNION Fix - Small arcsUnder unique conditions, some traces composed of arcs were being dropped.
Memory leak occurred when multiply defined apertures were detected and there was a large enough number of Gerber files to unionize at once. This has now been fixed.
A program crash occurred whenever a file set was opened containing many internal layers and having multiply defined apertures. This has now been fixed.
The ability to define nets and nodes interactively has been added in order to make this process faster for NETEX-G.
Polygonal SelectionA clipping window can now be defined (using a series of mouse clicks) that is in the shape of a polygon.
Display FixWhen multiple Gerber files that each have paint and scratch internal layers were displayed, the scratch layers from one file interacted with the other files. Fixed.
DXF Layer names were generated using the prefix_suffix. Motorola requested not to use the suffix i.e. input file called test24.gbr would produce a layer called test24_gbr but now produces only test24.
Areas defined with arc and trace combinations were closed improperly. There is currently no closing attempted on such combinations.
Flexlm License Support AddedAdded support for the Flexlm license manager to GBRVU and all submodules including GBRUnion.
GBRUnion Multiple Layer SupportThe way that multi-layer union works has been modified. If mutliple input files are supplied and union is requested (multi-layer) then the output file for DXF, EGS and GDSII stream will contain a union of each file in a single output layer. Previous to this, all input files were merged into one output. [Requested by Motorola]
If multiple Gerber files were input to GBRUnion and a d-code was redefined between files the GBRUnion output would fail. This has been fixed.
The number of internal layers that is supported was increased to 1024 from the previous limit of 64.
First encounter of a Gerber file that included explicit decimal points. Support for this has been added.
Error data could not be passed properly since v2.57 because the viewer was attempting to open the wrong log file. This has been fixed.
This option has been broken since v2.52 due to problems with log file output. Fixed.
Display problem for files with flashes only
Files that had flashes only on one axis or only a single point were not displayed correctly due to an error in calculating the extents of the data. Fixed.
Sometimes the a Gerber file could not be viewed if an SR statement was encountered. This has now been fixed.
Sizing Function can now work when "Flatten Only" Option selected.Previous to this one had to have data fully unionized in order to get data sized up or down (GBRUnion). It is now possible to select "Flatten Only" and still get individual polygons sized.
Internal Boolean Engine now uses Leonov PolygonsSignificant improvement in GBRUnion's boolean operations have been obtained by representing them internally as Leonov polygons (i.e. a parent polygon with children) instead of using cutlines to represent such geometries.
New algorithms in GBRUnion improve the performance when doing large complex union operations.
this effects only the ATG II specialized tool for Midas Vision Systems.
ADDED "-gbrexts:<filename>" ARGUMENT TO GET DATA EXTENTS FROM VIEWER
ALLOW GBRVU'S ENTITY FILTER QUERY TO WORK FROM ATGRULE SHELL OR WHEN ATG KEY IS FOUND
this effects only the ATG II specialized tool for Midas Vision Systems.
ADDED "-datawin:<filename>" ARGUMENT TO DEFINE A DATA WINDOW
(ATGII Related)ADDED "-vubkgnd:R,G,B" ARGUMENT TO CONTROL VIEWER BACKGROUND
Layer Table DisplayChanged the layer table to right justify the names; for long names the rightmost part displays in the box.
File access synchronization was added to files generated from within tool. This was done because there were times when temporary files were generated for GBRUnion but the tool accessed the file before it was complete.
The MDA Importer (MacDonald Detwiller AutoPlot Format) was fixed.
ADDED "Sensitivity Background..." TOOL
REVISED "Gerber Union" TOOL
Added "Outer Template Mesh" control to filter out mesh holes smaller than the value specified in the "Hole Size" edit field.
ADDED "Adaptive Sizing..." TOOL
1) Key to run is ATG
2) Made "Entity Filter Attributes" more informative.
ADDED ENTITY SEPARATION TOOL
1) Added message box warning to inform user that the magnitude of sizing value cannot be less the Gerber file precision.
2) Changed cursor display while processing to an hourglass so user knows that processing is underway.
3) Fixed a bug that caused program crash due to GBRVUs confusing conflicting DCodes with custom apertures.
4) Fixed a bug that reset the window extents to zero whenever the tool execution was interrupted before completion.
Added error checking for GBRUnion.
Retain the GBRUnion log file after processing complete.
Added a "Flatten Only" option in GBRUnion.
v2.51 11/15/2001
Added "Join Partioned Windows" module to GBRUnionWhen selected this rebuilds polygons that were cut because they passed through a partition stripe.
Multithread Support for Boolean EngineThe boolean engine can now detect multiple CPU's in order to run in multi-threaded mode.
The viewer's display was not popping up in the foreground under W2K. This has been fixed.
GBRUnion Bug FixThe Gerber Union tool failed to work for a set of RS274D Gerber files when: no layer in position 1 and "cutlines" setting was on.
Additional checks and corrections were added to the exporter module to export valid data even if the Gerber data was not correct.
Revised Geber Union Tool
Snap Settings Are Now Remembered
In older versions the snap settings were not saved from session to session. This has
been fixed.
Revised Layer Table Dialog Box
Added controls to globally change the on/off states and
paint/scratch/negative states of all active layers.
Gerber Union Layer Control Setting
Added radio button controls labeled "Single Layer Output" and "Multi
Layer Output". These control whether or not unionization is done
between layers. If "Single...", it is per layer and between layers.
If "Multi..." it is only done per layer.
Speed Improvement with Data Clipping
Clip Gerber data prior to union operation. The speed is most noticeable when
the user selects only a small part of a layer to booleanize.
Shortened log to report only errors
Prior to this release the log file contained much information making it difficult
to spot the warning and error messages. This has been fixed.
Bug fix to clipping rectangular or square traces.
Prior to this version, Gerber draws using a square or rectangular aperture
were not correctly clipped at a window boundary. This has been fixed.
Bug fix to plotting rectangular or square traces.
Traces with rectangular or square apertures were incorrectly plotted
with half the dimensions of the aperture. This has now been fixed.
BUG FIXES TO RS274X/EXPORT DIALOG
1)When RS274X exporter links or outputs pentax, it checks for zero dimension apertures and changes them to round. The bug was that it mistakingly changed "Custom, Poex, Poin, and Muliply defined types. This has now been fixed.
2)Exporter was failing to output any changes to aperture file that were necessary for linker o pentax. This has now been fixed.
3)The file extension of the output filename was always ".art" regardless of what the user was entering. This has now been fixed.
4)Exporter would crash when SR mnemonic with nonzero rows and columns was detected and found not to have any gerber data following it. This has now been fixed.
BUG FIXES TO GBRVU/X
This was failing to output handle custom apertures. This has now been fixed.
REVISED RS274X/EXPORT DIALOG
Added "Pass Error Data" check box and "Error Dcode" edit box to allow a user to output erroneous data and associate it to a specific DCode.
GBRVU/X BUG FIX
The "Extract Settings" controls labeled "Draws/Flashes" and "Block Flashes" were not working. Data was always solid and flashes were always blocked. This has now been fixed.
BUG FIXES TO VIEWING MASK FILES
1)Circular data was lost when circular mode was specified as 90 in aperture file. This is now ignored for mask file reading.
2)Mask file could only be opened through a job file. This meant that it could no be opened directly. This has now been fixed.
BUG FIX TO HANDLING CUSTOM RS274X FLASHES
On NT/2000, the viewer could unexpectedly crash whenever a custom flash was encountered. This has now been fixed.
ADDED "Tool|Film Merge RS274X..." MENUITEM
This menuitem launches Gbrmerge in a mode to specifically work with
RS274X files generated from "Gerber Union Tool". If this is found not to be the case, Gbrmerge will exit with a message to that effect. This menuitem will only be enabled with an Gerber Union RS274X key.
REVISIONS TO "Gerber Union" TOOL
1)Modified tool to do implicit sliver filtering. If no sliver is
specified, the value is 0.000001 for Inch data and 0.0001 for MM data.
2)Made tool capable of handling sets of layers that share dcode numbers
that vary in definition.
3)Tag tool's RS274X output to indicate it comes from Gerber Union.
This will allow Gbrmerge program to identify these GBR files to reject
them if they are not so.
BUG FIX TO "File|Export..." MENUITEM
The RS274X exporter was not handling sets of layers that share dcode numbers that vary in definition. This has now been fixed.
REVISION TO "Gerber Union" TOOL
Changed sizing in tool to work incrementally.
ADDED "File|Export..." MENUITEM
This manuitem launches a dialog box to export an RS274X file with whatever changes have been made to the input file(s) apertures.
REVISION TO "Gerber Union" TOOL
The tool now supports scratch layers.
BUG FIX TO "Gerber Union" TOOL
The tool exceeded the vertex range specified for "Max Points" when GDS or EGS was selected as "Output Type" and "Max Points" was set to zero. This has now been fixed.
A user has now been given the option of doing this by selecting a new menuitem, "File|Import Settings...", and checking the box titled, "Booleanize Custom Apertures". When this option has been set, the user can also control the "Arc Resolution" and "Chord Error" settings for circular data contained in custom apertures.
Revise "Gerber Union" tool.This tool was not allowing control of Paint and Scratch for files to merge. This has now been fixed.
Fix to "Gerber Union" tool.The tool was crashing upon reading certain Gerber files. The intermediate file generation that precedes unionization was doing a memory access violation when a certain sequence of elements were read. This has now been fixed.
These control how to divide up the "Data Window" that is specified. The divisions appear as rectangular rows and columns. The operation(s) specified are performed within each rectangular area, and any polygons outside or intersecting that area are clipped.
a)The "Rectangular Partioning" check box activates this feature.
b)The "Nx" edit box defines the number of columns.
b)The "Ny" edit box defines the number of rows.
Added "Data Window" Controls.
Added "Sliver" settings controls.
When the checkbox is set, polygons that are consistently narrower than the value specified in
the editbox are removed.
Added "Gerber Union Memory (MB)"
Edit box control to allow the user to control the memory usage of the tool.
Added Gerber Union Help
Help for the Gerber union (QckBool) is now available.
Added Film Merge Option
A Film merge option has been added to GBRVU enabling a user to import
RS274D (or RS274X) files and to then combine one or more of them and
export them as either RS274X or MDA (FIRE 9000) files.
This has two applications - 1. to convert RS274D into RS274X making it more reliable to transfer to board mfgs. 2. to combine multiple files generated by the Gerber Union program.
Increased number of vertices from 5000 to 65536
This feature was needed for complex boundaries.
Output File Directory
The output filename's directory could not be set to anything other
than what the temporary working directory was set to. This problem
only occurred when RS274D or RS274X output was being generated.
This is now fixed.
Improved Progress Report
Indicate when Gerber Union tool has completed its task. This means
that the tool will show a messagebox indicating
"Gbrunion output generated".
Bug fix with memory management
This bug deals with memory allocated during querying. It turns out
that large amounts of memory were being allocated but not freed when
traversing through a trace. This has now been fixed.
The three modules don't come with the standard gbrvu. You will need special key codes to activate these modules.
The following explains the usage of this tool. 1)Use "Tools|Gerber Union..." menu item to launch "Gerber Union" dialog box. 2)Set "Gerber Union" dialog box settings wherever necessary: a)"Sizing" specifies how much to grow the polygons. If set to 0.0, the polygons will not be grown. f)"Smoothing" edit box specifies which line segments to take out. Any segments smaller than the length specified are taken out. This works with the "Sizing" control and was created to avoid the apearance of spikes when sizing. c)"Arc Resolution" setting controls how circular data is broken up in degrees. The finer of the arc resolution and the arc sag is used. d)"Arc Sag" setting controls how circular data is broken up by specifying the perpendicular distance from an arc chord midpoint to the actual arc. The finer of the arc resolution and the arc sag is used. e)"Cut Lines" check box controls whether or not to output booleanized polygons with cut lines. If not set, the cut lines are replaced by interior polygons drawn on another layer different from the target layer. Otherwise booleanized polygons may appear with cutlines. f)"Output File Name" is the name of the output file that will be generated. 3)Hit OK and the tool will generate the booleanized file in the selected format.
Moire support added
Moire targets are now supported in both the viewing and plotting modules.
Vape key validation changed
There is no longer key error messages appearing for VAPE activation.
The viewer will now simply gray the related menu item,
"Tools|Translators|Model 714 VAPE", whenever there is an absence of a
valid key for VAPE.
The converter from VAPE to RS274X was modified so that VAPE flashes can be
converted to draws and VAPE draws are approximated using round apertures.
Requested by Midas Vision Systems.
A converter from VAPE to RS274X is also available now as a separately licensed translator. This converts each VAPE command to either a G36/G37 polygon or to an rectangular aperture. This function is not available unless specifically ordered and the correct license code installed.
Fixes to Postscript Output
Some fixes to the Postscript plotter driver were made. These are primarily for
those who wish to use GBRVU to drive very high resolution imagesetters.
BUG FIX TO QUERYING TRACE STARTING WITH ARC
Before the fix, the querying would start at the arc's center point,
rather than its starting point. This has now been fixed.
Reported by Bernie from Filtran.
LAYER NAMES IN QUERY NOW MATCH ONES IN LAYER TABLE
VIEW FAILED TO RECOGNIZE SOME ACTIVE APERTURES
QUERYING FIXED FOR MULTIPLY DEFINED D-CODES IN RS274X
WIN98 BUG FIX FOR IMPORTING RS274X FILES W/ MULTIPLY DEFINED D-CODES
ADDED REPORT OF PLOT WINDOW COORDINATES
BUG FIX WHEN SWITCHING JOB FILES
PLOT ONE LAYER AT A TIME
SCREEN SAVING AND DUMPING IS DONE FOR MOST REDRAWS
IMPORTED RS274X FILE WAS SOMETIMES COMING UP EMPTY
Increased number of macros from 256 to 1024. [requested by SteveDB to
support Allegro/APD RS274X files with hundreds of apertures for BGA
design applications....
Dramatic Speed Increase in RS274X Import.
BUG FIX TO REVERSE DISPLAY MODE
BUG FIX TO FIRE 9000 DISPLAY MODE AND MORMAL DISPLAY MODE
The Extract settings dialog has been changed to control :
Added SR support to Extract
Interupt of Screen Display Fixed for Custom Apertures
Auto Detection of RS274X, MDA and RS274D Added
Opening an Existing Job File
Aperture Conversion has been broken out Separately
the new Aperture Generator can be started either stand alone or from
the Tools | Aperture Generator .... pulldown.
POEX Check Default to OFF
DXF Layer Colors in GBRVU/X Fixed
Added TIFF Output
Grid and Object Snap Added
The ability to snap either to objects (vertices of draws, centers of
flashes) or to a user defined grid has been added. Snap is controlled
from the FILE | PREFERENCES dialog.
Fixed memory bug in Extract Module
The DXF eXtract module incorrectly allocated and locked memory. This
has been corrected.
CR/LF and Suppress Leading Zero Parameters
GBRVU was ignoring the value of CR/LF and Leading Zero Suppression present
in the .apt file and was rewriting them to the default value. If a user
had turned on CR/LF in ASM 50x then GBRVU would modify the .apt file to
turn it back off. This has been fixed so that these settings are no longer
ignored (and modified) by GBRVU
Circles, arcs and FIRE 9000 emulation
While testing MTOOLs 3.10 we detected that GBRVU would fail to display
as filled a 360 degree arc (essentially a circle). We also determined that two such concentric arcs were confused as a illegal POEX boundary. Both conditions have been fixed.
The query box, displayed by the viewer, no longer shows RS274X internal
layers in the @
Whenever a set of layers shared a dcode number that varied in definition,
those dcodes would not appear in the "Highlight Aperture" dialog box,
and the "Aperture Table" dialog box would not show them as being used
in the Gerber files being viewed. This has now been fixed.
v2.10 2/9/99
RS274X FILE DISPLAYED INCORRECTLY IN WHITE BACKGROUND
The tranparency implementation made all but the last layer appear on
the screen whenever the background was white. This has now been fixed.
When querying flashes of these d-codes, the wrong flash would be
displayed in the querying area. This has now been fixed.
The flashes inserted had the wrong dcode type and dimension when the
same d-code was used for two or more aperture definitions accross a set
of files imported. Problem only happens on Windows 98. This
has now been fixed.
Each time the viewer outputs a plot, the window coordinates of the
desired plot will be stored in the plot.cfg file. The information
appears like the example below:
pltcfg.PLOTWINDOW: 37216,36533 50073,43073
The first and second pair of numbers are the minimum and maximum
coordinates respectively.
The viewer would simply crash when opening a job file after having
opened another set of Gerber files. This has now been fixed.
GBRVU/W can plot one file at a time from a set of imported files
being viewed. This change means the following:
1)An added menuitem, "Plot|Plot Layers Seperately".
2)A check box labeled "Plot layers seperately" has been added to the
"Plot Window" dialog box to control the same thing. Remember that
the dialog box is launched from the "Plot|Plot Window Coords..."
menuitem.
3)The setting affects all three kinds of plotting:
a)Screen Plotting
b)Window Plotting
c)Plot Window Coordinate
3)The default setting is off.
4)For MDA and RS274D a layer plotted is an imported file.
5)For RS274X a layer plotted is an imported file with all the layer
polarities contained in it.
SEE THROUGH TRANSPARENT AREAS GENERATED BY RS274X FILE IMPORT
It used to be the case that when two or more RS274X files were imported,
the scratched areas of the first file could potentially scratch out
areas in the previous file(s) displayed. This has now been changed.
The scratch areas in a RS274X file only affect itself.
A window appearing and disappearing over the viewer use to cause a
redraw on the area covered. This functionality has been changed to do
a screen dump rather than a redraw.
A file without a G-code preceding its first LP mnemonic, caused the
viewer to think the file was empty.
v2.08 12/23/98
Added Support for redefined apertures in RS274X files.
Sometimes an aperture is redefined within an RS274X file or by a second or third
file loaded simultaneously. Previously GBRVU was unable to support such redefinitions.
In version 2.08 we added support for such occurences.
1)Additions were made to "Aperture" dialog box.
a)Aperture Table Dialog shows a new type, "Extended", for d-code types
for d-code numbers referring to more than one kind of aperture.
b)Clicking on the d-code button of this type will launch a "D-code"
dialog box showing layers and corresponding aperture type of the
d-code.
c)"Custom" and "Extended" type d-codes are read only. They can only
be removed. This is done to prevent a user from accidently changing
these kinds of apertures and realizing later that there is no way
to get them back.
To remove an "Extended" type, do the following:
- Click on d-code button.
- After "D-code" dialog box appears, hit "OK" button.
- Click "Clear Line" button of "Aperture" dialog box.
To remove a "Custom" type, do the following:
- Click on d-code button.
- After "Types" dialog box appears, select "
v2.07 12/11/98
Increased number of 274X Macros
Completely rewrote the macro interpretation module. No longer stores
each macro as a separate file that clutters up the working directory.
Removed the awk based Gerber parser and replaced with a compiled
parser. Speed improvements of up to 50X during importation. Requested
by Steve DB to load large Gerber files generated by Allegro.
v2.06 12/10/98
ADDED CIRCLE CONTROL TO GBRVUX DXF OUTPUT
A setting has been added to the Extract settings dialog:
Circle Control (Circle or Polyline) [default=polyline]
This was done for Ansoft users. Apparently in version 2.04 we
started using Circles and the Ansoft analysis software only can
accept a zero width closed polyline. Reported by Mark Allen.
v2.05 10/28/98
RESTORED POLYGON SELF INTERSECT AND REENTRANT CHECKING CONTROL
A popup menu File|Preferences|Poex Check has been added. It contains three menu items which allow the user to choose different modes related to polygon checking:
Fixed a bug in version 2.04 which broke the reverse area fill
display mode. This mode is often referred to as Pentax mode because
it emulates the behavior of the Japanese Pentax photoplotter.
The Fire 9000 mode automatically sets the self intersecting
and reentrant polygon check mode while Normal turns off checking.
The default display mode is now Normal.
v2.04 09/21/98
EXTRACT OUTPUT IS NOW UNIFORM WITH GBR2DXF OUTPUT
The GBR2DXF engine is now launched to translate the GBR data selected
from the viewer. This was done to unify the DXF output generated
from GBR2DXF and GBRVU/X. [Editor's note: this change ended up breaking
the Ansoft connection and was modified in 2.06]
Draws Control (Connectivity or Graphics)
Draws/Flashes (Solid or Outline)
Block Flashes (Blocked or Exploded)
AutoCAD R14 (On or Off)
The first three settings are passed to the GBR2DXF engine via
aperture file and the last one by commandline argument.
Extract selection has been fixed to work with layers that are stepped
and repeated bt RS274X SR mnemonics.
v2.03 07/28/98
Improved Extents Calculations
Fixes a problem when calculating extents on files that have custom
apertures. Previously only the insertion point of the custom aperture
was used to calculate extents.
Hitting the escape key normally interrupts drawing on the screen, but
interrupting custom aperture draws could not be done. This condition
can be annoying if the custom aperture contains a lot of data. This
has now been fixed.
The user can either let the viewer detect and import GBR files or force
a specific kind of import. The user can also define file extensions
from the File | Preferences | File Extensions menu item.
A user can select job files from the available file types in the combo
box labeled "Files of Type:", in the "Open GBR File" dialog box. This
will open a set of Gerber files and their corresponding aperture file.
automatically.
When opening RS274D gerber files, the user is prompted for an
aperture file. If the file selected is not an Artwork aperture file,
the user will be instructed to use the aptgen program to first convert
his aperture list into Artwork's apt file format.
The setting which checks for illegal polygons is initially off. If
on, all illegal polygons will be displayed with an error color and
outlined instead of filled. The setting can be found in the
"File|Preferences|Poex Check" menuitem. When it's checked, it's on.
The layer colors in the DXF file now correctly match the layer colors that
one sees in GBRVU.
Added the TIFF output format to the plotter driver set. Enables Users to
get high resolution TIFF output.
Version 1.95 12/12/97
Fixed bug interaction between SR and Custom Aperture
The viewer couldn't handle a custom aperture referenced after an SR
mass parameter. In such a case, only some of the custom apertures
would appear. For example, if the SR mass parameter specified a 2x2
array, the only custom flashes that would appear would be the ones in the
bottom row and left column of the array. Both viewing and plotting
were affected. Fixed Bad Mouse Action
When zooming, measuring, panning, plotting windows or
ID'ing an entity if you attempted to cancel out of the
action, then clicked to start the action again, the
cancelled action was still in effect and would complete
upon your next mouse click....not what you wanted to
happen. This behaviour has been fixed.Excellon Format
The Excellon format should be hardwired to 2.4 - instead
it was following the format of the Gerber data. Fixed. Confuses String for M-Code Fixed
The RS274X interpreter apparently saw a string embedded
in a G04 comment such as M00, and confused this for the
M00 command which stops the plotter. Fixed. Fixed Wrap around in Raster Plotter Driver
For certain files where the extents were large, a portion
of the raster file was "wrapped" around the page and
appeared on the opposite side of the page where it should
have been. Fixed.
Version 1.89 06/16/97
Plot Extents Calculation Bug
The viewer would mistakingly clip parts of flashes and traces
that layed adjacent to the extents of the drawing. This has been fixed.
Version 1.88 06/12/97
programmer's note: MKSSI CONTROLLED
Version 1.87 06/11/97
Bug when reading mask file
This bug would cause the beginning portions of a mask file to skip, resulting in
only some of the data appearing. The bug had been in existance since v1.85's
implementation of "SKIPPING NON-GBR-DRAWING HEADER INFORMATION". This has been fixed.
Bug when drawing and plotting thermal square flashes
The viewer would hang whenever it encountered more than three
consecutive thermal square flashes placed after a tool change. It would
also fail to draw these flashes. This has been fixed.
Support A4 to A0 Plot Paper Size
A4, A3, A2, A1 and A0 plot paper sizes are now recognized and
properly handled. In the previous version, A size paper was
assumed when one of the above paper size was used.
Step and repeat (MASS PARAMATER "SR") support added
The viewer has been modified to display, query, and plot layers defined
with SR paramaters. The GBR data belonging to such layers is arrayed
orthogonally dependent upon how the SR paramater is defined.
Version 1.85 (04/24/97)
Long file names restriction
Code has been added to prevent usage of any long file names throughout
the use of the viewer.
Bug fix: Truncating Layername in Job File
Previously, if the layername in the job file was greater than 64 characters, it would mistakingly be truncated to that length.
Skipping non-gbr drawing header information
GBRVU will skip any blocks or lines in the beginning of a GBR file that
don't make up part of the GBR drawing. In addion to this, G57 codes
are treated as comments.
Version 1.84 (04/21/97)
Bug Display of Custom Apertures w/Traces = (LINES AND ARCS)
The viewer was erroneously trying to offset the data points making up
these traces whenever they were associated with POEX apertures. The
first data point was being offset unnecessarily when all the points
making up the traces composition had already been offset to the
location of the flash. It was affecting the display, plotting, and
DXF extraction. This has been fixed.
FIRE 9000 Display Bug
This bug appeared when an arc was drawn, after a closed boundary having
the same tool, and ending at (0,0). In this case, under Fire 9000
display mode, the viewer would erroneously consider the circle as part
of the boundary and display an unexpected looking boundary. This has
been fixed.
Memory allocation bug for plotting
Viewer would crash when plotting boundaries with vertices greater than
2500. This has been fixed.
DXF Extract bug for RS274X Layer Polarity
Invalid layer names were mistakingly generated in the DXF output of the
viewer's GBR exatraction features. This occurred whenever changes in
the layer polarity were defined in a single RS274X file. When the
importer encounters this, it creates layer names of the form.
Version 1.79 (11/01/96)
this version ships with 5.41 of ASM 500 family for Windows...
HostID locking
added the ability to lock (on 95/NT only) to a network card's MAC
address. This can be used instead of a hardware key as needed or
desired. See
New HostID Locking for Windows
Version 1.76 (08/01/96)
this version ships with 5.38 of ASM 500 family for Windows....
Display of Circular Data
GBRVU uses the ARCRES parameter to determine how to display circular Gerber
commands. For most applications the default setting of 9 degrees is acceptable.
However very large diameter arcs (3-4 inches) look a bit jagged at this
resolution. GBRVU was ignoring user settings less than 9 degrees. This bug
has been fixed so that the user can set arcres from 1 to 45 degrees.
Version 1.74 (07/18/96)
this version ships with 5.37 of ASM 500 family for Windows....
Version 1.71 (04/17/96)
this version ships with 5.35 of ASM 500 family for Windows....