1#ifndef PCB_PLOT_PARAMS_H_ 
    2#define PCB_PLOT_PARAMS_H_ 
Color settings are a bit different than most of the settings objects in that there can be more than o...
 
A color representation with 4 components: red, green, blue, alpha.
 
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
 
LSET is a set of PCB_LAYER_IDs.
 
The parser for PCB_PLOT_PARAMS.
 
Parameters and options when plotting/printing a board.
 
PLOT_FORMAT GetFormat() const
 
bool m_sketchPadsOnFabLayers
Plots pads outlines on fab layers.
 
bool m_crossoutDNPFPsOnFabLayers
 
bool GetSkipPlotNPTH_Pads() const
 
double m_dashedLineGapRatio
 
std::optional< bool > m_plotViaOnMaskLayer
 
void SetDrillMarksType(DRILL_MARKS aVal)
 
bool m_hideDNPFPsOnFabLayers
 
bool GetUseAuxOrigin() const
 
LSEQ GetPlotOnAllLayersSequence() const
 
bool GetHideDNPFPsOnFabLayers() const
 
void SetSkipPlotNPTH_Pads(bool aSkip)
 
void SetLayerSelection(const LSET &aSelection)
 
int m_gerberPrecision
Precision of coordinates in Gerber: accepted 5 or 6 when units are in mm, 6 or 7 in inches (but Pcbne...
 
void SetOutputDirectory(const wxString &aDir)
 
void SetPlotReference(bool aFlag)
 
std::shared_ptr< COLOR_SETTINGS > m_default_colors
Pointer to color settings to be used for plotting.
 
int GetWidthAdjust() const
 
void SetSketchPadsOnFabLayers(bool aFlag)
 
void SetUseGerberX2format(bool aUse)
 
bool m_A4Output
In polygon mode, each item to plot is converted to a polygon and all polygons are merged.
 
DXF_UNITS GetDXFPlotUnits() const
 
bool GetAutoScale() const
 
int m_scaleSelection
Scale ratio index (UI only)
 
void SetA4Output(int aForce)
 
DXF_UNITS m_DXFUnits
FILLED or SKETCH for filled objects.
 
PLOT_TEXT_MODE m_textMode
Holes can be not plotted, have a small mark, or be plotted in actual size.
 
bool GetCrossoutDNPFPsOnFabLayers() const
 
bool GetSketchDNPFPsOnFabLayers() const
 
void SetPlotOnAllLayersSequence(LSEQ aSeq)
 
void SetPDFBackgroundColor(const COLOR4D &aColor)
 
bool m_plotValue
Enable plotting of part values.
 
void SetDXFPlotPolygonMode(bool aFlag)
 
void SetAutoScale(bool aFlag)
 
LSEQ m_plotOnAllLayersSequence
 
unsigned GetSvgPrecision() const
 
wxString m_outputDirectory
Output directory for plot files (usually relative to the board file)
 
void SetPlotFrameRef(bool aFlag)
 
void SetSketchDNPFPsOnFabLayers(bool aFlag)
 
bool m_PDFMetadata
Generate PDF metadata for SUBJECT and AUTHOR.
 
void SetDashedLineGapRatio(double aVal)
 
PLOT_TEXT_MODE GetTextMode() const override
 
bool m_autoScale
Autoscale the plot to fit an A4 (landscape?) sheet.
 
bool m_useGerberProtelExtensions
On gerbers 'scrape' away the solder mask from silkscreen (trim silks)
 
bool GetCreateGerberJobFile() const
 
void SetPlotPadNumbers(bool aFlag)
 
bool GetDXFPlotPolygonMode() const
 
bool m_useAuxOrigin
Plot gerbers using auxiliary (drill) origin instead of absolute coordinates.
 
void SetSketchPadLineWidth(int aWidth)
 
bool GetSvgFitPagetoBoard() const
 
double m_scale
When true set the scale to fit the board in the page.
 
LSET GetLayerSelection() const
 
bool GetPlotReference() const
 
wxString GetOutputDirectory() const
 
int GetScaleSelection() const
 
int m_widthAdjust
Compensation for PS printers/plotters that do not strictly obey line width settings.
 
bool m_PDFFrontFPPropertyPopups
Generate PDF property popup menus for footprints.
 
void SetScale(double aVal)
 
void SetDisableGerberMacros(bool aDisable)
 
double m_fineScaleAdjustX
Compensation for printer scale errors (and therefore.
 
friend class PCB_PLOT_PARAMS_PARSER
 
void SetScaleSelection(int aSelection)
 
double m_dashedLineDashRatio
 
std::optional< bool > GetLegacyPlotViaOnMaskLayer() const
 
void SetFineScaleAdjustX(double aVal)
 
void SetMirror(bool aFlag)
 
void SetBlackAndWhite(bool blackAndWhite)
 
void SetPlotFPText(bool aFlag)
 
void SetGerberPrecision(int aPrecision)
 
bool m_blackAndWhite
Plot in negative color (supported only by some drivers)
 
DXF_OUTLINE_MODE GetDXFPlotMode() const override
 
void SetSubtractMaskFromSilk(bool aSubtract)
 
int GetSketchPadLineWidth() const
 
bool GetSketchPadsOnFabLayers() const
 
void SetHideDNPFPsOnFabLayers(bool aFlag)
 
bool m_createGerberJobFile
generate the auxiliary "job file" in gerber format
 
bool GetSubtractMaskFromSilk() const
 
void SetPlotValue(bool aFlag)
 
int GetGerberPrecision() const
 
COLOR4D m_PDFBackgroundColor
Background color to use if m_PDFUseBackgroundColor is true.
 
bool m_plotReference
Enable plotting of part references.
 
double m_fineScaleAdjustY
expected to be very near 1.0).
 
double GetFineScaleAdjustY() const
 
bool m_gerberDisableApertMacros
Disable aperture macros in Gerber format (only for broken Gerber readers).
 
void SetUseGerberProtelExtensions(bool aUse)
 
void SetDashedLineDashRatio(double aVal)
 
void Parse(PCB_PLOT_PARAMS_PARSER *aParser)
 
bool m_subtractMaskFromSilk
Deprecated; only used for reading legacy files.
 
COLOR_SETTINGS * m_colors
 
bool GetPlotPadNumbers() const
 
DRILL_MARKS GetDrillMarksType() const
 
bool GetUseGerberX2format() const
 
bool m_mirror
Global scale factor, 1.0 plots a board at actual size.
 
void SetDXFPlotUnits(DXF_UNITS aUnit)
 
void SetColorSettings(COLOR_SETTINGS *aSettings)
 
bool IsSameAs(const PCB_PLOT_PARAMS &aPcbPlotParams) const
Compare current settings to aPcbPlotParams, including not saved parameters in brd file.
 
void SetIncludeGerberNetlistInfo(bool aUse)
 
bool m_includeGerberNetlistInfo
Include netlist info (only in Gerber X2 format) (chapter ? in revision ?)
 
bool GetPlotValue() const
 
DXF_OUTLINE_MODE m_DXFPlotMode
 
void SetCreateGerberJobFile(bool aCreate)
 
unsigned m_svgPrecision
Precision of coordinates in SVG: accepted 3 - 6; 6 is the internal resolution of Pcbnew.
 
bool GetIncludeGerberNetlistInfo() const
 
bool m_PDFSingle
Generate a single PDF file for all layers.
 
void SetNegative(bool aFlag)
 
double GetFineScaleAdjustX() const
 
bool GetBlackAndWhite() const
 
double GetDashedLineGapRatio() const
 
void SetUseAuxOrigin(bool aAux)
 
bool m_PDFBackFPPropertyPopups
on front and/or back of board
 
bool GetPlotFPText() const
 
bool m_sketchDNPFPsOnFabLayers
 
void SetDXFPlotMode(DXF_OUTLINE_MODE aPlotMode)
 
void SetTextMode(PLOT_TEXT_MODE aVal)
 
void SetSvgFitPageToBoard(int aSvgFitPageToBoard)
 
bool GetUseGerberProtelExtensions() const
 
double GetDashedLineDashRatio() const
 
void SetSvgPrecision(unsigned aPrecision)
 
bool GetPlotFrameRef() const
 
COLOR4D GetPDFBackgroundColor() const
 
DRILL_MARKS m_drillMarks
Plot pad numbers when sketching pads on fab layers.
 
bool m_useGerberX2format
Include attributes from the Gerber X2 format (chapter 5 in revision J2)
 
bool m_negative
Mirror the plot around the X axis.
 
void SetCrossoutDNPFPsOnFabLayers(bool aFlag)
 
void SetFormat(PLOT_FORMAT aFormat)
 
bool m_plotDrawingSheet
Plot in black and white only.
 
bool GetDisableGerberMacros() const
 
void SetFineScaleAdjustY(double aVal)
 
void Format(OUTPUTFORMATTER *aFormatter) const
 
LSET m_layerSelection
Plot format type (chooses the driver to be used)
 
bool m_plotPadNumbers
Used to disable NPTH pads plotting on copper layers.
 
void SetWidthAdjust(int aVal)
 
COLOR_SETTINGS * ColorSettings() const
 
DRILL_MARKS
Plots and prints can show holes in pads and vias 3 options are available:
 
PLOT_TEXT_MODE
Which kind of text to output with the PSLIKE plotters.
 
DXF_OUTLINE_MODE
Options to draw items with thickness ( segments, arcs, circles, texts...)
 
PLOT_FORMAT
The set of supported output plot formats.