|
| GerberApertureList () noexcept |
|
| GerberApertureList (const GerberApertureList &other)=delete |
|
| ~GerberApertureList () noexcept |
|
QString | generateString () const noexcept |
| Generate the aperture definitions string. More...
|
|
int | addCircle (const UnsignedLength &dia, Function function) |
| Add a circle aperture. More...
|
|
int | addObround (const PositiveLength &w, const PositiveLength &h, const Angle &rot, Function function) noexcept |
| Add an obround aperture. More...
|
|
int | addRect (const PositiveLength &w, const PositiveLength &h, const UnsignedLength &r, const Angle &rot, Function function) noexcept |
| Add a rectangular aperture. More...
|
|
int | addOctagon (const PositiveLength &w, const PositiveLength &h, const UnsignedLength &r, const Angle &rot, Function function) noexcept |
| Add an octagon aperture. More...
|
|
int | addOutline (const StraightAreaPath &path, const Angle &rot, Function function) noexcept |
| Add a custom outline aperture. More...
|
|
int | addComponentMain () noexcept |
| Add a component main aperture (for component layers only) More...
|
|
int | addComponentPin (bool isPin1) noexcept |
| Add a component pin aperture (for component layers only) More...
|
|
GerberApertureList & | operator= (const GerberApertureList &rhs)=delete |
|
A helper class to generate the aperture definitions for a Gerber file.
The class provides methods to add certain apertures. Identical Apertures are added only once, i.e. if you call addCircle() multiple times with a diameter of 1mm, only one circle aperture of 1mm is created.
In addition, methods will always create the most simple aperture which represents the desired image. For example, if you call addObround() with both width and height set to the same value, a circle aperture is added instead of an obround (and the rotation parameter is ignored).
- Warning
- The implementation of this class is very critical for generating correct Gerber files widely compatible with CAM software used by PCB fabricators. A lot of know how is contained in the implementtion to avoid issues with PCB fabricators. When changing anything here, read the Gerber specs very carefully, follow their recommendations and try to determine the compatibility with CAM software like CAM350 or Generis2000. In addition, add unit tests for each new requirement.