G36/G37 Shape Compensation
there are three basic geometries present in Gerber data:
Traces - created by "dragging" a round or rectangular apertures from one point to another
Flashes - created by opening/closing the shutter at a particular coordinate.
Shapes - created by defining the outline of the shape using the G36/G37 command.
Improving Shape Accuracy
When rasterizing shapes, one of our clients pointed out that the shapes came out 1 pixel too wide and 1 pixel too tall. This is likely the result of pixel snapping when deciding whether to place a pixel on the shape's boundary. For very precise work, this one pixel error was problematic.
In order to address this issue, we added a shape compensation module to the RIP. This module only processes G36/G37 shapes - not traces or flashes. It effectively sizes down the edges of the shape by 1/2 pixel so that the resulting bitmap more closely matches the design width and height.
A sophisticated caching mechanism is used in order to minimize the extra time required by this compensation for data with many repetitions.Performance Penalty?
The performance penalty for implementing this compensation varies greatly. For small files it is not very noticeable. For large files it is noticeable if a large number of G36/G37 shapes are present in the input data; also if the input data is not repetitive then the caching mechanism does not offer much help.
Can I turn off Shape Compensation?
Yes, there are two command line arguments that will suppress the shape compensation module: