The GDSII specification does not contain any circle or arc entity. A round pad in the GDSII world is approximated by using a polygon of anywhere from 8 sides to 40 sides depending on the smoothness that the designer felt was appropriate.
As a consequence, when converting such pads from GDSII to Gerber you cannot get a nice flash for the pad -- instead you are going to get drawn data for each pad. This is undesirable for a couple of reasons:
Flashes will make the Gerber file size much smaller -- especially if there are hundreds or thousands of pads.
Flashes make it very easy to generate drill data -- in many cases a via must be drilled through the center of the pad -- creating this drill information is trivial if you have flashes but quite involved if you have drawn pads.
To address this problem, Artwork added a circle recognition routine to the GDS2GBR engine. This routine looks for polygons that are essentially circular, finds the center and outputs them to Gerber as round flashes. For a polygon to be "recognized" as a circle it should have 24 or more vertices; the routine checks that the angle and length of the vertices are equal (to a very small tolerance).
Enabling Circle Recognition
In the ASM600 two things needs to be done:
1. In the ASM600 Configuration menu set the Flash Circle to ON.
2. In the ASM600 Aperture menu you must define apertures to match the circle diameter
Note that Flash Circle is checked in the ASM 600 configuration dialog.
Note that D17 is set to 0.75 round which is the nominal diameter of the polygons. This was obtained using the Flash Circles button which scanned the GDSII file and found this diameter.
A sample drawing with 7 polygons of the same nominal diameter was created in GDSII. The only difference is that the number of sides starts at 8 and goes up to 40. After running it through GDS2GBR with the FLASH Circle option set and a round flash of 0.75 available in the aperture list the output Gerber file is shown. The polygons with 24, 32 and 40 sides were converted to flashes while the polygons with less number of sides were "drawn."
GDSII data: All round pads are polygons with differing number of sides
Gerber Data: the three polygons on the right (24,32,40) were converted to flashes
Config and Apt File for Engines
For UNIX/Linux users who wish to use the engine directly they must be sure to:
Add the directive FLASH on to the .apt file.
APTUNITS MM FORMAT 3.3 SUPPRESS LEADING SUPPRESS CR LINE D10 CIRANG 360 ABSOLUTE on FLASH on
Add the appropriate diameter flash to the list of apertures as shown below (D17 for a 0.75 mm round flash)
D10 0.0250000 d Round 0.0250000 0.0250000 D11 0.0500000 d Round 0.0500000 0.0500000 D12 0.1000000 d Round 0.1000000 0.1000000 D13 0.2000000 d Round 0.2000000 0.2000000 D14 0.4000000 d Round 0.4000000 0.4000000 D15 0.8000000 d Round 0.8000000 0.8000000 D16 1.0000000 d Round 1.0000000 1.0000000 D17 C_7500 f Round 0.7500000 0.7500000