Artwork has been requested by several OEMs to provide a library that will help them in displaying Gerber (RS274X) data on their equipment control software. Both image writers and inspection equipment for PCBs often need to overlay data acquired with a camera onto CAD data extracted from the Gerber file. This may be for purposes of aligning the image writer head, acquiring real target locations vs. expected target locations or for other types of alignment of cad data and the actual features on the substrate. Displaying Camera and CAD DataThe equipment manufacturer has a lot of expertise in controlling the machine and in controlling a camera that can capture features on the substrate. However he may not have as much experience in processing Gerber data. Even if he can develop a Gerber parser it may not be fast enough to handle large and complex files to meet the user's expectations. Artwork has 20 years experience in developing CAD viewers and by now has a highly optimized and robust parser. Our OEM library takes advantage of that expertise and provides an extremely fast solution for OEMs at a reasonable price. General Principles of OperationIn order to display geometry in a window one generally depends on the Windows GDI. The GBRVULib does not directly interface with the GDI as this is the job of the OEM's application program. What the library does is read the Gerber file, process it and outputs a list of "primitives." Available primitives include: filled areas, lines with width, rectangles and circles. Optimization for Speed Speed becomes most noticeable as the file sizes increase. For small and medium sized files, even a non-optimized solution will be fast enough given today's very fast computers. When the file size and complexity gets large then a non-optimal solution becomes very painful to use. File Assumptions In order to deal with the "worst case" possibility we are going to assume: Image Area - 20 x 24 inches panelized data. Sometimes the SR command is used/sometimes not. Internal Layers - many files are built from up to 300 LPD/LPC internal layers Apertures - we routinely encounter files with 500-1000 aperture definitions File Size - we routinely encounter files of 80MBytes and occasionally as large as 500 MByte Feature Size - we routinely encounter files with linewidths of 15 um. |