7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-19 23:31:40 +00:00

REMOVED force-plot-invisible-items.

It's dangerous as the router and DRC will have been
run without regard to invisible items.

(See #19420.)
This commit is contained in:
Jeff Young 2025-01-30 13:23:45 +00:00
parent b44261c2bd
commit 4fa02690f8
16 changed files with 72 additions and 184 deletions

View File

@ -44,28 +44,33 @@ JOB_EXPORT_PCB_PDF::JOB_EXPORT_PCB_PDF() :
{
m_plotDrawingSheet = false;
m_params.emplace_back( new JOB_PARAM<wxString>( "color_theme", &m_colorTheme, m_colorTheme ) );
m_params.emplace_back( new JOB_PARAM<bool>( "mirror", &m_mirror, m_mirror ) );
m_params.emplace_back(
new JOB_PARAM<bool>( "black_and_white", &m_blackAndWhite, m_blackAndWhite ) );
m_params.emplace_back( new JOB_PARAM<bool>( "negative", &m_negative, m_negative ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_footprint_values", &m_plotFootprintValues,
m_plotFootprintValues ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_pad_numbers", &m_plotPadNumbers, m_plotPadNumbers ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_invisible_text", &m_plotInvisibleText,
m_plotInvisibleText ) );
m_params.emplace_back( new JOB_PARAM<bool>(
"sketch_pads_on_fab_layers", &m_sketchPadsOnFabLayers, m_sketchPadsOnFabLayers ) );
m_params.emplace_back(
new JOB_PARAM<DRILL_MARKS>( "drill_shape", &m_drillShapeOption, m_drillShapeOption ) );
m_params.emplace_back( new JOB_PARAM<wxString>( "color_theme",
&m_colorTheme, m_colorTheme ) );
m_params.emplace_back( new JOB_PARAM<bool>( "mirror",
&m_mirror, m_mirror ) );
m_params.emplace_back( new JOB_PARAM<bool>( "black_and_white",
&m_blackAndWhite, m_blackAndWhite ) );
m_params.emplace_back( new JOB_PARAM<bool>( "negative",
&m_negative, m_negative ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_footprint_values",
&m_plotFootprintValues, m_plotFootprintValues ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_pad_numbers",
&m_plotPadNumbers, m_plotPadNumbers ) );
m_params.emplace_back( new JOB_PARAM<bool>( "sketch_pads_on_fab_layers",
&m_sketchPadsOnFabLayers, m_sketchPadsOnFabLayers ) );
m_params.emplace_back( new JOB_PARAM<DRILL_MARKS>( "drill_shape",
&m_drillShapeOption, m_drillShapeOption ) );
m_params.emplace_back( new JOB_PARAM<bool>( "pdf_metadata", &m_pdfMetadata, m_pdfMetadata ) );
m_params.emplace_back( new JOB_PARAM<bool>( "single_document", &m_pdfSingle, m_pdfSingle ) );
m_params.emplace_back( new JOB_PARAM<bool>(
"front_fp_property_popups", &m_pdfFrontFPPropertyPopups, m_pdfFrontFPPropertyPopups ) );
m_params.emplace_back( new JOB_PARAM<bool>(
"back_fp_property_popups", &m_pdfBackFPPropertyPopups, m_pdfBackFPPropertyPopups ) );
m_params.emplace_back( new JOB_PARAM<GEN_MODE>( "pdf_gen_mode", &m_pdfGenMode, m_pdfGenMode ) );
m_params.emplace_back( new JOB_PARAM<bool>( "pdf_metadata",
&m_pdfMetadata, m_pdfMetadata ) );
m_params.emplace_back( new JOB_PARAM<bool>( "single_document",
&m_pdfSingle, m_pdfSingle ) );
m_params.emplace_back( new JOB_PARAM<bool>( "front_fp_property_popups",
&m_pdfFrontFPPropertyPopups, m_pdfFrontFPPropertyPopups ) );
m_params.emplace_back( new JOB_PARAM<bool>( "back_fp_property_popups",
&m_pdfBackFPPropertyPopups, m_pdfBackFPPropertyPopups ) );
m_params.emplace_back( new JOB_PARAM<GEN_MODE>( "pdf_gen_mode",
&m_pdfGenMode, m_pdfGenMode ) );
}

View File

@ -37,31 +37,28 @@ JOB_EXPORT_PCB_PLOT::JOB_EXPORT_PCB_PLOT( PLOT_FORMAT aFormat, const std::string
m_plotRefDes( true ),
m_plotDrawingSheet( true ),
m_plotPadNumbers( false ),
m_plotInvisibleText( false ),
m_printMaskLayer(),
m_printMaskLayersToIncludeOnAllLayers(),
m_drillShapeOption( DRILL_MARKS::FULL_DRILL_SHAPE ),
m_useDrillOrigin( false )
{
m_params.emplace_back( new JOB_PARAM_LSEQ( "layers", &m_printMaskLayer, m_printMaskLayer ) );
m_params.emplace_back( new JOB_PARAM_LSEQ( "layers_to_include_on_all_layers",
&m_printMaskLayersToIncludeOnAllLayers,
m_printMaskLayersToIncludeOnAllLayers ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_pad_numbers",
&m_plotPadNumbers, m_plotPadNumbers ) );
m_params.emplace_back(
new JOB_PARAM<bool>( "plot_pad_numbers", &m_plotPadNumbers, m_plotPadNumbers ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_invisible_text", &m_plotInvisibleText,
m_plotInvisibleText ) );
m_params.emplace_back(
new JOB_PARAM<bool>( "plot_drawing_sheet", &m_plotDrawingSheet, m_plotDrawingSheet ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_drawing_sheet",
&m_plotDrawingSheet, m_plotDrawingSheet ) );
m_params.emplace_back( new JOB_PARAM<bool>( "plot_ref_des", &m_plotRefDes, m_plotRefDes ) );
m_params.emplace_back(
new JOB_PARAM<bool>( "use_drill_origin", &m_useDrillOrigin, m_useDrillOrigin ) );
m_params.emplace_back( new JOB_PARAM<bool>( "use_drill_origin",
&m_useDrillOrigin, m_useDrillOrigin ) );
m_params.emplace_back(
new JOB_PARAM<wxString>( "drawing_sheet", &m_drawingSheet, m_drawingSheet ) );
m_params.emplace_back( new JOB_PARAM<wxString>( "drawing_sheet",
&m_drawingSheet, m_drawingSheet ) );
}

View File

@ -64,7 +64,6 @@ public:
bool m_plotRefDes;
bool m_plotDrawingSheet;
bool m_plotPadNumbers;
bool m_plotInvisibleText;
LSEQ m_printMaskLayer;
///< Layers to include on all individual layer prints

View File

@ -55,9 +55,6 @@ namespace CLI
#define ARG_INCLUDE_BORDER_TITLE "--include-border-title"
#define ARG_MIRROR "--mirror"
#define ARG_PLOT_INVISIBLE_TEXT "--plot-invisible-text"
#define ARG_PLOT_INVISIBLE_TEXT_DESC "Force plotting of invisible values / refs"
#define ARG_FLIP_BOTTOM_PADS "--flip-bottom-pads"
#define ARG_UNIQUE_PINS "--unique-pins"
#define ARG_UNIQUE_FOOTPRINTS "--unique-footprints"

View File

@ -95,10 +95,6 @@ CLI::PCB_EXPORT_DXF_COMMAND::PCB_EXPORT_DXF_COMMAND() : PCB_EXPORT_BASE_COMMAND(
"GUI plotting. The given output path specifies a directory in "
"which files may be output." ) ) )
.flag();
m_argParser.add_argument( ARG_PLOT_INVISIBLE_TEXT )
.help( UTF8STDSTR( _( ARG_PLOT_INVISIBLE_TEXT_DESC ) ) )
.flag();
}
@ -127,7 +123,6 @@ int CLI::PCB_EXPORT_DXF_COMMAND::doPerform( KIWAY& aKiway )
dxfJob->m_polygonMode = m_argParser.get<bool>( ARG_USE_CONTOURS );
dxfJob->m_useDrillOrigin = m_argParser.get<bool>( ARG_USE_DRILL_ORIGIN );
dxfJob->m_plotDrawingSheet = m_argParser.get<bool>( ARG_INCLUDE_BORDER_TITLE );
dxfJob->m_plotInvisibleText = m_argParser.get<bool>( ARG_PLOT_INVISIBLE_TEXT );
int drillShape = m_argParser.get<int>( ARG_DRILL_SHAPE_OPTION );
dxfJob->m_drillShapeOption = static_cast<JOB_EXPORT_PCB_DXF::DRILL_MARKS>( drillShape );

View File

@ -83,11 +83,6 @@ CLI::PCB_EXPORT_GERBER_COMMAND::PCB_EXPORT_GERBER_COMMAND( const std::string& aN
m_argParser.add_argument( ARG_NO_PROTEL_EXTENSION )
.help( UTF8STDSTR( _( "Use KiCad Gerber file extension" ) ) )
.flag();
m_argParser.add_argument( ARG_PLOT_INVISIBLE_TEXT )
.help( UTF8STDSTR( _( ARG_PLOT_INVISIBLE_TEXT_DESC ) ) )
.flag();
}
@ -114,7 +109,6 @@ int CLI::PCB_EXPORT_GERBER_COMMAND::populateJob( JOB_EXPORT_PCB_GERBER* aJob )
aJob->m_useProtelFileExtension = !m_argParser.get<bool>( ARG_NO_PROTEL_EXTENSION );
aJob->m_precision = m_argParser.get<int>( ARG_PRECISION );
aJob->m_printMaskLayer = m_selectedLayers;
aJob->m_plotInvisibleText = m_argParser.get<bool>( ARG_PLOT_INVISIBLE_TEXT );
if( !wxFile::Exists( aJob->m_filename ) )
{

View File

@ -98,10 +98,6 @@ CLI::PCB_EXPORT_PDF_COMMAND::PCB_EXPORT_PDF_COMMAND() : PCB_EXPORT_BASE_COMMAND(
"F.Cu,B.Cu" ) ) )
.metavar( "COMMON_LAYER_LIST" );
m_argParser.add_argument( ARG_PLOT_INVISIBLE_TEXT )
.help( UTF8STDSTR( _( ARG_PLOT_INVISIBLE_TEXT_DESC ) ) )
.flag();
m_argParser.add_argument( ARG_MODE_SINGLE )
.help( UTF8STDSTR(
_( "Generates a single file with the output arg path acting as the complete "
@ -141,7 +137,6 @@ int CLI::PCB_EXPORT_PDF_COMMAND::doPerform( KIWAY& aKiway )
pdfJob->m_plotFootprintValues = !m_argParser.get<bool>( ARG_EXCLUDE_VALUE );
pdfJob->m_plotRefDes = !m_argParser.get<bool>( ARG_EXCLUDE_REFDES );
pdfJob->m_plotInvisibleText = m_argParser.get<bool>( ARG_PLOT_INVISIBLE_TEXT );
pdfJob->m_plotDrawingSheet = m_argParser.get<bool>( ARG_INCLUDE_BORDER_TITLE );

View File

@ -114,11 +114,6 @@ CLI::PCB_EXPORT_SVG_COMMAND::PCB_EXPORT_SVG_COMMAND() : PCB_EXPORT_BASE_COMMAND(
"GUI plotting. The given output path specifies a directory in "
"which files may be output." ) ) )
.flag();
m_argParser.add_argument( ARG_PLOT_INVISIBLE_TEXT )
.help( UTF8STDSTR( _( ARG_PLOT_INVISIBLE_TEXT_DESC ) ) )
.flag();
}
@ -141,7 +136,6 @@ int CLI::PCB_EXPORT_SVG_COMMAND::doPerform( KIWAY& aKiway )
int drillShape = m_argParser.get<int>( ARG_DRILL_SHAPE_OPTION );
svgJob->m_drillShapeOption = static_cast<JOB_EXPORT_PCB_SVG::DRILL_MARKS>( drillShape );
svgJob->m_drawingSheet = m_argDrawingSheet;
svgJob->m_plotInvisibleText = m_argParser.get<bool>( ARG_PLOT_INVISIBLE_TEXT );
svgJob->m_filename = m_argInput;
svgJob->SetConfiguredOutputPath( m_argOutput );

View File

@ -390,9 +390,6 @@ void DIALOG_PLOT::init_Dialog()
// Option to plot page references:
m_plotSheetRef->SetValue( m_plotOpts.GetPlotFrameRef() );
// Option to force ploting of hidden text in footprints
m_plotInvisibleText->SetValue( m_plotOpts.GetPlotInvisibleText() );
// Options to plot pads and vias holes
m_drillShapeOpt->SetSelection( (int) m_plotOpts.GetDrillMarksType() );
@ -494,7 +491,6 @@ void DIALOG_PLOT::transferPlotParamsToJob()
m_job->m_plotDrawingSheet = m_plotOpts.GetPlotFrameRef();
m_job->m_plotPadNumbers = m_plotOpts.GetPlotPadNumbers();
m_job->m_plotInvisibleText = m_plotOpts.GetPlotInvisibleText();
m_job->m_blackAndWhite = m_plotOpts.GetBlackAndWhite();
m_job->m_mirror = m_plotOpts.GetMirror();
@ -1051,7 +1047,6 @@ void DIALOG_PLOT::applyPlotSettings()
tempOptions.SetCrossoutDNPFPsOnFabLayers( m_plotDNP->GetValue()
&& m_crossoutDNP->GetValue() );
tempOptions.SetUseAuxOrigin( m_useAuxOriginCheckBox->GetValue() );
tempOptions.SetPlotInvisibleText( m_plotInvisibleText->GetValue() );
tempOptions.SetScaleSelection( m_scaleOpt->GetSelection() );
int sel = m_drillShapeOpt->GetSelection();

View File

@ -85,31 +85,26 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
m_plotDNP = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Indicate DNP on fabrication layers"), wxDefaultPosition, wxDefaultSize, 0 );
m_plotDNP->SetToolTip( _("Hide or cross-out DNP footprints on fabrication layers") );
gbSizer1->Add( m_plotDNP, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
gbSizer1->Add( m_plotDNP, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_hideDNP = new wxRadioButton( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Hide"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
m_hideDNP->SetToolTip( _("Hide the footprint text and graphics") );
gbSizer1->Add( m_hideDNP, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
gbSizer1->Add( m_hideDNP, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
m_crossoutDNP = new wxRadioButton( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Cross-out"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_crossoutDNP, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
m_plotInvisibleText = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Force plotting of invisible values / refs"), wxDefaultPosition, wxDefaultSize, 0 );
m_plotInvisibleText->SetToolTip( _("Force plot invisible footprint values and reference designators") );
gbSizer1->Add( m_plotInvisibleText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
gbSizer1->Add( m_crossoutDNP, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
m_sketchPadsOnFabLayers = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Sketch pads on fabrication layers"), wxDefaultPosition, wxDefaultSize, 0 );
m_sketchPadsOnFabLayers->SetToolTip( _("Include pad outlines on F.Fab and B.Fab layers when plotting") );
gbSizer1->Add( m_sketchPadsOnFabLayers, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
gbSizer1->Add( m_sketchPadsOnFabLayers, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_plotPadNumbers = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Include pad numbers"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_plotPadNumbers, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
gbSizer1->Add( m_plotPadNumbers, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 25 );
m_zoneFillCheck = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Check zone fills before plotting"), wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_zoneFillCheck, wxGBPosition( 6, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 );
gbSizer1->Add( m_zoneFillCheck, wxGBPosition( 6, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 30 );
drillMarksLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill marks:"), wxDefaultPosition, wxDefaultSize, 0 );
drillMarksLabel->Wrap( -1 );

View File

@ -14,7 +14,7 @@
<property name="embedded_files_path">res</property>
<property name="encoding">UTF-8</property>
<property name="file">dialog_plot_base</property>
<property name="first_id">1000</property>
<property name="first_id">6000</property>
<property name="internationalize">1</property>
<property name="lua_skip_events">1</property>
<property name="lua_ui_table">UI</property>
@ -687,7 +687,7 @@
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="row">2</property>
<property name="row">1</property>
<property name="rowspan">1</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
@ -756,7 +756,7 @@
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxLEFT</property>
<property name="row">3</property>
<property name="row">2</property>
<property name="rowspan">1</property>
<object class="wxRadioButton" expanded="true">
<property name="BottomDockable">1</property>
@ -824,7 +824,7 @@
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxLEFT</property>
<property name="row">4</property>
<property name="row">3</property>
<property name="rowspan">1</property>
<object class="wxRadioButton" expanded="true">
<property name="BottomDockable">1</property>
@ -892,75 +892,7 @@
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="row">1</property>
<property name="rowspan">1</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer">0</property>
<property name="aui_name"></property>
<property name="aui_position">0</property>
<property name="aui_row">0</property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Force plotting of invisible values / refs</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_plotInvisibleText</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Force plot invisible footprint values and reference designators</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
</object>
</object>
<object class="gbsizeritem" expanded="false">
<property name="border">5</property>
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="row">5</property>
<property name="row">4</property>
<property name="rowspan">1</property>
<object class="wxCheckBox" expanded="false">
<property name="BottomDockable">1</property>
@ -1029,7 +961,7 @@
<property name="colspan">1</property>
<property name="column">0</property>
<property name="flag">wxLEFT</property>
<property name="row">6</property>
<property name="row">5</property>
<property name="rowspan">1</property>
<object class="wxCheckBox" expanded="true">
<property name="BottomDockable">1</property>
@ -1095,8 +1027,8 @@
<object class="gbsizeritem" expanded="false">
<property name="border">30</property>
<property name="colspan">2</property>
<property name="column">1</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
<property name="column">0</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="row">6</property>
<property name="rowspan">1</property>
<object class="wxCheckBox" expanded="false">

View File

@ -41,8 +41,8 @@ class WX_HTML_REPORT_PANEL;
///////////////////////////////////////////////////////////////////////////
#define ID_ALLOW_PRINT_PAD_ON_SILKSCREEN 1000
#define ID_MIROR_OPT 1001
#define ID_ALLOW_PRINT_PAD_ON_SILKSCREEN 6000
#define ID_MIROR_OPT 6001
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_PLOT_BASE
@ -67,7 +67,6 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM
wxCheckBox* m_plotDNP;
wxRadioButton* m_hideDNP;
wxRadioButton* m_crossoutDNP;
wxCheckBox* m_plotInvisibleText;
wxCheckBox* m_sketchPadsOnFabLayers;
wxCheckBox* m_plotPadNumbers;
wxCheckBox* m_zoneFillCheck;

View File

@ -115,7 +115,6 @@ PCB_PLOT_PARAMS::PCB_PLOT_PARAMS()
m_plotReference = true;
m_plotValue = true;
m_plotFPText = true;
m_plotInvisibleText = false;
m_sketchPadsOnFabLayers = false;
m_hideDNPFPsOnFabLayers = false;
m_sketchDNPFPsOnFabLayers = true;
@ -229,7 +228,6 @@ void PCB_PLOT_PARAMS::Format( OUTPUTFORMATTER* aFormatter ) const
KICAD_FORMAT::FormatBool( aFormatter, getTokenName( T_plot_black_and_white ), m_blackAndWhite );
KICAD_FORMAT::FormatBool( aFormatter, "plotinvisibletext", m_plotInvisibleText );
KICAD_FORMAT::FormatBool( aFormatter, "sketchpadsonfab", m_sketchPadsOnFabLayers );
KICAD_FORMAT::FormatBool( aFormatter, "plotpadnumbers", m_plotPadNumbers );
KICAD_FORMAT::FormatBool( aFormatter, "hidednponfab", m_hideDNPFPsOnFabLayers );
@ -334,9 +332,6 @@ bool PCB_PLOT_PARAMS::IsSameAs( const PCB_PLOT_PARAMS &aPcbPlotParams ) const
if( m_plotFPText != aPcbPlotParams.m_plotFPText )
return false;
if( m_plotInvisibleText != aPcbPlotParams.m_plotInvisibleText )
return false;
if( m_sketchPadsOnFabLayers != aPcbPlotParams.m_sketchPadsOnFabLayers )
return false;
@ -802,8 +797,8 @@ void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams )
aPcbPlotParams->m_blackAndWhite = parseBool();
break;
case T_plotinvisibletext:
aPcbPlotParams->m_plotInvisibleText = parseBool();
case T_plotinvisibletext: // legacy token; no longer supported
parseBool();
break;
case T_sketchpadsonfab:

View File

@ -111,8 +111,6 @@ public:
void SetCrossoutDNPFPsOnFabLayers( bool aFlag ) { m_crossoutDNPFPsOnFabLayers = aFlag; }
bool GetCrossoutDNPFPsOnFabLayers() const { return m_crossoutDNPFPsOnFabLayers; }
void SetPlotInvisibleText( bool aFlag ) { m_plotInvisibleText = aFlag; }
bool GetPlotInvisibleText() const { return m_plotInvisibleText; }
void SetPlotValue( bool aFlag ) { m_plotValue = aFlag; }
bool GetPlotValue() const { return m_plotValue; }
void SetPlotReference( bool aFlag ) { m_plotReference = aFlag; }
@ -274,7 +272,6 @@ private:
bool m_plotReference; ///< Enable plotting of part references
bool m_plotValue; ///< Enable plotting of part values
bool m_plotFPText;
bool m_plotInvisibleText; ///< Force plotting of fields marked invisible
bool m_sketchPadsOnFabLayers; ///< Plots pads outlines on fab layers
int m_sketchPadLineWidth;

View File

@ -370,7 +370,6 @@ void PCB_PLOTTER::PlotJobToPlotOpts( PCB_PLOT_PARAMS& aOpts, JOB_EXPORT_PCB_PLOT
aOpts.SetUseAuxOrigin( aJob->m_useDrillOrigin );
aOpts.SetPlotFrameRef( aJob->m_plotDrawingSheet );
aOpts.SetPlotInvisibleText( aJob->m_plotInvisibleText );
aOpts.SetPlotReference( aJob->m_plotRefDes );
aOpts.SetPlotValue( aJob->m_plotFootprintValues );
aOpts.SetSketchPadsOnFabLayers( aJob->m_sketchPadsOnFabLayers );

View File

@ -358,26 +358,28 @@ void BRDITEMS_PLOTTER::PlotFootprintTextItems( const FOOTPRINT* aFootprint )
if( !GetPlotFPText() )
return;
const PCB_TEXT* textItem = &aFootprint->Reference();
PCB_LAYER_ID textLayer = textItem->GetLayer();
const PCB_TEXT* reference = &aFootprint->Reference();
PCB_LAYER_ID refLayer = reference->GetLayer();
// Reference and value have special controls for forcing their plotting
if( GetPlotReference() && m_layerMask[textLayer]
&& ( textItem->IsVisible() || GetPlotInvisibleText() )
&& !( aFootprint->IsDNP() && hideDNPItems( textLayer ) ) )
if( GetPlotReference()
&& m_layerMask[refLayer]
&& reference->IsVisible()
&& !( aFootprint->IsDNP() && hideDNPItems( refLayer ) ) )
{
PlotText( textItem, textLayer, textItem->IsKnockout(), textItem->GetFontMetrics(),
aFootprint->IsDNP() && crossoutDNPItems( textLayer ) );
PlotText( reference, refLayer, reference->IsKnockout(), reference->GetFontMetrics(),
aFootprint->IsDNP() && crossoutDNPItems( refLayer ) );
}
textItem = &aFootprint->Value();
textLayer = textItem->GetLayer();
const PCB_TEXT* value = &aFootprint->Value();
PCB_LAYER_ID valueLayer = reference->GetLayer();
if( GetPlotValue() && m_layerMask[textLayer]
&& ( textItem->IsVisible() || GetPlotInvisibleText() )
&& !( aFootprint->IsDNP() && hideDNPItems( textLayer ) ) )
if( GetPlotValue()
&& m_layerMask[valueLayer]
&& value->IsVisible()
&& !( aFootprint->IsDNP() && hideDNPItems( valueLayer ) ) )
{
PlotText( textItem, textLayer, textItem->IsKnockout(), textItem->GetFontMetrics(),
PlotText( value, valueLayer, value->IsKnockout(), value->GetFontMetrics(),
false );
}
@ -394,10 +396,8 @@ void BRDITEMS_PLOTTER::PlotFootprintTextItems( const FOOTPRINT* aFootprint )
for( BOARD_ITEM* item : aFootprint->GraphicalItems() )
{
textItem = dynamic_cast<const PCB_TEXT*>( item );
if( textItem )
texts.push_back( static_cast<PCB_TEXT*>( item ) );
if( PCB_TEXT* textItem = dynamic_cast<PCB_TEXT*>( item ) )
texts.push_back( textItem );
}
for( const PCB_TEXT* text : texts )
@ -405,8 +405,8 @@ void BRDITEMS_PLOTTER::PlotFootprintTextItems( const FOOTPRINT* aFootprint )
if( !text->IsVisible() )
continue;
textLayer = text->GetLayer();
bool strikeout = false;
PCB_LAYER_ID textLayer = text->GetLayer();
bool strikeout = false;
if( textLayer == Edge_Cuts || textLayer >= PCB_LAYER_ID_COUNT )
continue;