Pcbnew: fixed plot pads problem on silkscreen layers.

This commit is contained in:
charras 2010-01-18 15:11:35 +00:00
parent babab6a834
commit bd19e0170e
8 changed files with 69 additions and 146 deletions

Binary file not shown.

View File

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kicad\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-01-18 14:19+0100\n"
"PO-Revision-Date: 2010-01-18 14:19+0100\n"
"POT-Creation-Date: 2010-01-18 16:50+0100\n"
"PO-Revision-Date: 2010-01-18 16:50+0100\n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
@ -2369,20 +2369,20 @@ msgstr "&Règles de Conception"
msgid "&Help"
msgstr "&Aide"
#: pcbnew/pcbplot.cpp:567
#: pcbnew/pcbplot.cpp:561
msgid "Warning: Scale option set to a very small value"
msgstr "Attention: option d'échelle ajustée à une valeur très petite"
#: pcbnew/pcbplot.cpp:570
#: pcbnew/pcbplot.cpp:564
msgid "Warning: Scale option set to a very large value"
msgstr "Attention: option d'échelle ajustée à une valeur très grande"
#: pcbnew/pcbplot.cpp:699
#: pcbnew/pcbplot.cpp:693
#, c-format
msgid "Plot file <%s> created"
msgstr "Fichier de tracé <%s> créé"
#: pcbnew/pcbplot.cpp:711
#: pcbnew/pcbplot.cpp:705
msgid "No layer selected"
msgstr "Pas de couche sélectionnée"
@ -6475,163 +6475,161 @@ msgstr "Exclure les tracés contour PCB des autres couches"
msgid "Print sheet reference"
msgstr "Imprimer cartouche"
#: pcbnew/dialog_plot_base.cpp:54
#: pcbnew/dialog_plot_base.cpp:55
msgid "Print pads on silkscreen"
msgstr "Pads sur Sérigraphie"
#: pcbnew/dialog_plot_base.cpp:56
msgid "Enable/disable print/plot pads on silkscreen layers"
msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie"
#: pcbnew/dialog_plot_base.cpp:60
msgid "Always print pads"
msgstr "Toujours tracer pads"
#: pcbnew/dialog_plot_base.cpp:58
msgid ""
"Enable/disable print/plot pads on silkscreen layers\n"
"When disable, pads are never potted on silkscreen layers\n"
"When enable, pads are potted only if they appear on silkscreen layers"
msgstr ""
"Autorise/interdit le tracé des pads sur les couches de sérigraphie\n"
"Si interdit, les pads ne sont jamais traçés sur les couches de sérigraphie\n"
"Si autorisé, les pads sont traçés seulemnt s'ils apparaissent sur les couches de sérigraphie"
#: pcbnew/dialog_plot_base.cpp:62
msgid "Force print/plot pads on ALL layers"
msgstr "Force le tracé des pastilles sur TOUTES les couches"
#: pcbnew/dialog_plot_base.cpp:66
msgid "Print module value"
msgstr "Imprimer Valeur Module"
#: pcbnew/dialog_plot_base.cpp:70
#: pcbnew/dialog_plot_base.cpp:67
msgid "Print module reference"
msgstr "Imprimer Référence Module"
#: pcbnew/dialog_plot_base.cpp:74
#: pcbnew/dialog_plot_base.cpp:72
msgid "Print other module texts"
msgstr "Imprimer autres textes module"
#: pcbnew/dialog_plot_base.cpp:76
#: pcbnew/dialog_plot_base.cpp:75
msgid "Enable/disable print/plot module field texts on silkscreen layers"
msgstr "Active/désactive le tracé des textes des champs des modules sur couches de sérigraphie"
#: pcbnew/dialog_plot_base.cpp:80
#: pcbnew/dialog_plot_base.cpp:79
msgid "Force print invisible texts"
msgstr "Force tracé textes invisibles"
#: pcbnew/dialog_plot_base.cpp:82
#: pcbnew/dialog_plot_base.cpp:81
msgid "Force print/plot module invisible texts on silkscreen layers"
msgstr "Force le tracé des textes invisibles sur couches de sérigraphie"
#: pcbnew/dialog_plot_base.cpp:97
#: pcbnew/dialog_plot_base.cpp:96
msgid "Auto scale"
msgstr "Ech. auto"
#: pcbnew/dialog_plot_base.cpp:97
#: pcbnew/dialog_plot_base.cpp:96
msgid "Scale 1.5"
msgstr "Echelle 1,5"
#: pcbnew/dialog_plot_base.cpp:99
#: pcbnew/dialog_plot_base.cpp:98
msgid "Scale Opt"
msgstr "Echelle"
#: pcbnew/dialog_plot_base.cpp:105
#: pcbnew/dialog_plot_base.cpp:104
msgid "Plot Mode"
msgstr "Mode de Tracé"
#: pcbnew/dialog_plot_base.cpp:109
#: pcbnew/dialog_plot_base.cpp:108
msgid "Absolute"
msgstr "Absolu"
#: pcbnew/dialog_plot_base.cpp:109
#: pcbnew/dialog_plot_base.cpp:108
msgid "Auxiliary axis"
msgstr "Axe Auxiliaire"
#: pcbnew/dialog_plot_base.cpp:111
#: pcbnew/dialog_plot_base.cpp:110
msgid "Plot Origin"
msgstr "Origine des Coord de Tracé"
#: pcbnew/dialog_plot_base.cpp:120
#: pcbnew/dialog_plot_base.cpp:119
msgid "HPGL"
msgstr "HPGL"
#: pcbnew/dialog_plot_base.cpp:120
#: pcbnew/dialog_plot_base.cpp:119
msgid "Gerber"
msgstr "Gerber"
#: pcbnew/dialog_plot_base.cpp:120
#: pcbnew/dialog_plot_base.cpp:119
msgid "Postscript"
msgstr "Postscript"
#: pcbnew/dialog_plot_base.cpp:120
#: pcbnew/dialog_plot_base.cpp:119
msgid "Postscript A4"
msgstr "Postscript A4"
#: pcbnew/dialog_plot_base.cpp:120
#: pcbnew/dialog_plot_base.cpp:119
msgid "DXF Export"
msgstr "Export DXF"
#: pcbnew/dialog_plot_base.cpp:122
#: pcbnew/dialog_plot_base.cpp:121
msgid "Plot Format"
msgstr "Format de tracé"
#: pcbnew/dialog_plot_base.cpp:127
#: pcbnew/dialog_plot_base.cpp:126
msgid "HPGL Options:"
msgstr "Options HPGL:"
#: pcbnew/dialog_plot_base.cpp:129
#: pcbnew/dialog_plot_base.cpp:128
msgid "Pen size"
msgstr "Diam plume"
#: pcbnew/dialog_plot_base.cpp:136
#: pcbnew/dialog_plot_base.cpp:135
msgid "Pen Speed (cm/s)"
msgstr "Vitesse Plume ( cm/s )"
#: pcbnew/dialog_plot_base.cpp:141
#: pcbnew/dialog_plot_base.cpp:140
msgid "Set pen speed in cm/s"
msgstr "Ajuster Vitesse plume en centimètres par seconde"
#: pcbnew/dialog_plot_base.cpp:145
#: pcbnew/dialog_plot_base.cpp:144
msgid "Pen ovr"
msgstr "Recouvrement"
#: pcbnew/dialog_plot_base.cpp:150
#: pcbnew/dialog_plot_base.cpp:149
msgid "Set plot overlay for filling"
msgstr "Ajuste recouvrement des tracés pour les remplissages"
#: pcbnew/dialog_plot_base.cpp:157
#: pcbnew/dialog_plot_base.cpp:156
msgid "PS Options:"
msgstr "Options PS:"
#: pcbnew/dialog_plot_base.cpp:159
#: pcbnew/dialog_plot_base.cpp:158
msgid "Plot negative"
msgstr "Tracé en Négatif"
#: pcbnew/dialog_plot_base.cpp:170
#: pcbnew/dialog_plot_base.cpp:169
msgid "Plot mirror"
msgstr "Tracé Miroir"
#: pcbnew/dialog_plot_base.cpp:174
#: pcbnew/dialog_plot_base.cpp:173
msgid "Vias on mask"
msgstr "Vias sur masque"
#: pcbnew/dialog_plot_base.cpp:176
#: pcbnew/dialog_plot_base.cpp:175
msgid "Print/plot vias on mask layers. They are in this case not protected"
msgstr "Trace vias sur vernis épargne. Elles seront non protégées"
#: pcbnew/dialog_plot_base.cpp:180
#: pcbnew/dialog_plot_base.cpp:179
msgid "Line width"
msgstr "Epaisseur ligne"
#: pcbnew/dialog_plot_base.cpp:190
#: pcbnew/dialog_plot_base.cpp:189
msgid "X scale adjust"
msgstr "Ajustage Echelle X"
#: pcbnew/dialog_plot_base.cpp:199
#: pcbnew/dialog_plot_base.cpp:198
msgid "Y scale adjust"
msgstr "Ajustage Echelle Y"
#: pcbnew/dialog_plot_base.cpp:209
#: pcbnew/dialog_plot_base.cpp:208
msgid "Plot"
msgstr "Tracer"
#: pcbnew/dialog_plot_base.cpp:213
#: pcbnew/dialog_plot_base.cpp:212
msgid "Save Options"
msgstr "Sauver Options"
#: pcbnew/dialog_plot_base.cpp:216
#: pcbnew/dialog_plot_base.cpp:215
msgid "Generate drill file"
msgstr "Créer Fichier de perçage"
@ -12995,6 +12993,12 @@ msgstr "Options d'Affichage"
msgid "Page Settings"
msgstr "Ajustage opt Page"
#~ msgid "Enable/disable print/plot pads on silkscreen layers"
#~ msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie"
#~ msgid "Always print pads"
#~ msgstr "Toujours tracer pads"
#~ msgid "Force print/plot pads on ALL layers"
#~ msgstr "Force le tracé des pastilles sur TOUTES les couches"
#~ msgid "Adjust pads shape, dimensions, layers"
#~ msgstr ""
#~ "Ajuster les caracteristiques par défaut des pads, les dimensions des "

View File

@ -51,18 +51,12 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
bLeftSizer->Add( m_Plot_Sheet_Ref, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_Plot_Pads_on_Silkscreen = new wxCheckBox( this, ID_PRINT_PAD_ON_SILKSCREEN, _("Print pads on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
m_Plot_Pads_on_Silkscreen = new wxCheckBox( this, ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Print pads on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
m_Plot_Pads_on_Silkscreen->SetToolTip( _("Enable/disable print/plot pads on silkscreen layers") );
m_Plot_Pads_on_Silkscreen->SetToolTip( _("Enable/disable print/plot pads on silkscreen layers\nWhen disable, pads are never potted on silkscreen layers\nWhen enable, pads are potted only if they appear on silkscreen layers") );
bLeftSizer->Add( m_Plot_Pads_on_Silkscreen, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_Force_Plot_Pads = new wxCheckBox( this, ID_FORCE_PRINT_PAD, _("Always print pads"), wxDefaultPosition, wxDefaultSize, 0 );
m_Force_Plot_Pads->SetToolTip( _("Force print/plot pads on ALL layers") );
bLeftSizer->Add( m_Force_Plot_Pads, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_Plot_Text_Value = new wxCheckBox( this, ID_PRINT_VALUE, _("Print module value"), wxDefaultPosition, wxDefaultSize, 0 );
bLeftSizer->Add( m_Plot_Text_Value, 0, wxTOP|wxRIGHT|wxLEFT, 5 );

View File

@ -303,7 +303,7 @@
<property name="fg"></property>
<property name="font"></property>
<property name="hidden">0</property>
<property name="id">ID_PRINT_PAD_ON_SILKSCREEN</property>
<property name="id">ID_ALLOW_PRINT_PAD_ON_SILKSCREEN</property>
<property name="label">Print pads on silkscreen</property>
<property name="maximum_size"></property>
<property name="minimum_size"></property>
@ -313,59 +313,7 @@
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="tooltip">Enable/disable print/plot pads on silkscreen layers</property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnCheckBox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<property name="bg"></property>
<property name="checked">0</property>
<property name="context_help"></property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="font"></property>
<property name="hidden">0</property>
<property name="id">ID_FORCE_PRINT_PAD</property>
<property name="label">Always print pads</property>
<property name="maximum_size"></property>
<property name="minimum_size"></property>
<property name="name">m_Force_Plot_Pads</property>
<property name="permission">protected</property>
<property name="pos"></property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="tooltip">Force print/plot pads on ALL layers</property>
<property name="tooltip">Enable/disable print/plot pads on silkscreen layers&#x0A;When disable, pads are never potted on silkscreen layers&#x0A;When enable, pads are potted only if they appear on silkscreen layers</property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>

View File

@ -37,8 +37,7 @@ class DIALOG_PLOT_BASE : public wxDialog
enum
{
ID_USE_GERBER_EXTENSIONS = 1000,
ID_PRINT_PAD_ON_SILKSCREEN,
ID_FORCE_PRINT_PAD,
ID_ALLOW_PRINT_PAD_ON_SILKSCREEN,
ID_PRINT_VALUE,
ID_PRINT_REF,
ID_PRINT_MODULE_TEXTS,
@ -57,7 +56,6 @@ class DIALOG_PLOT_BASE : public wxDialog
wxCheckBox* m_Exclude_Edges_Pcb;
wxCheckBox* m_Plot_Sheet_Ref;
wxCheckBox* m_Plot_Pads_on_Silkscreen;
wxCheckBox* m_Force_Plot_Pads;
wxCheckBox* m_Plot_Text_Value;
wxCheckBox* m_Plot_Text_Ref;
wxCheckBox* m_Plot_Text_Div;

View File

@ -26,7 +26,6 @@
#define OPTKEY_XFINESCALE_ADJ wxT( "PlotXFineScaleAdj" )
#define OPTKEY_YFINESCALE_ADJ wxT( "PlotYFineScaleAdj" )
#define OPTKEY_PADS_ON_SILKSCREEN wxT( "PlotPadsOnSilkscreen" )
#define OPTKEY_ALWAYS_PRINT_PADS wxT( "PlotAlwaysPads" )
#define OPTKEY_OUTPUT_FORMAT wxT( "PlotOutputFormat" )
// Define min and max reasonable values for print scale
@ -259,12 +258,7 @@ void DIALOG_PLOT::Init_Dialog()
m_Config->Read( OPTKEY_PADS_ON_SILKSCREEN,
&g_pcb_plot_options.PlotPadsOnSilkLayer );
m_Plot_Pads_on_Silkscreen->SetValue( &g_pcb_plot_options.PlotPadsOnSilkLayer );
m_Config->Read( OPTKEY_ALWAYS_PRINT_PADS,
&g_pcb_plot_options.Plot_Pads_All_Layers );
m_Force_Plot_Pads->SetValue( g_pcb_plot_options.Plot_Pads_All_Layers );
m_Plot_Pads_on_Silkscreen->SetValue( g_pcb_plot_options.PlotPadsOnSilkLayer );
// Options to plot texts on footprints
m_Plot_Text_Value->SetValue( g_pcb_plot_options.Sel_Texte_Valeur );
@ -426,8 +420,7 @@ void DIALOG_PLOT::SaveOptPlot( wxCommandEvent& event )
g_pcb_plot_options.Plot_Frame_Ref = m_Plot_Sheet_Ref->GetValue();
g_pcb_plot_options.PlotPadsOnSilkLayer = m_Plot_Pads_on_Silkscreen->GetValue();
g_pcb_plot_options.Plot_Pads_All_Layers = m_Force_Plot_Pads->GetValue();
s_PlotOriginIsAuxAxis =
(m_Choice_Plot_Offset->GetSelection() == 0) ? FALSE : TRUE;
@ -476,8 +469,6 @@ void DIALOG_PLOT::SaveOptPlot( wxCommandEvent& event )
m_Config->Write( OPTKEY_YFINESCALE_ADJ, m_YScaleAdjust );
m_Config->Write( OPTKEY_PADS_ON_SILKSCREEN,
g_pcb_plot_options.PlotPadsOnSilkLayer );
m_Config->Write( OPTKEY_ALWAYS_PRINT_PADS,
g_pcb_plot_options.Plot_Pads_All_Layers );
int formatNdx = m_PlotFormatOpt->GetSelection();
m_Config->Write( OPTKEY_OUTPUT_FORMAT, formatNdx );

View File

@ -49,9 +49,7 @@ public:
bool Sel_Texte_Valeur;
bool Sel_Texte_Divers;
bool Sel_Texte_Invisible;
bool PlotPadsOnSilkLayer;
bool Plot_Pads_All_Layers; /* Plot pads even outside the
* Layer (useful for silkscreen) */
bool PlotPadsOnSilkLayer; /* allows pads on silkscreen */
/* id for plot format (see enum PlotFormat in plot_common.h) */
int PlotFormat;

View File

@ -83,8 +83,7 @@ void WinEDA_BasePcbFrame::Plot_Serigraphie( PLOTTER* plotter,
Plot_Edges_Modules( plotter, m_Pcb, masque_layer, trace_mode );
/* Plot pads (creates pads outlines, for pads on silkscreen layers) */
if( g_pcb_plot_options.PlotPadsOnSilkLayer
|| g_pcb_plot_options.Plot_Pads_All_Layers )
if( g_pcb_plot_options.PlotPadsOnSilkLayer )
{
for( MODULE* Module = m_Pcb->m_Modules;
Module;
@ -94,18 +93,9 @@ void WinEDA_BasePcbFrame::Plot_Serigraphie( PLOTTER* plotter,
pt_pad != NULL;
pt_pad = pt_pad->Next() )
{
/* Seen if the pad is on this layer */
if( (pt_pad->m_Masque_Layer & masque_layer) == 0
/* Copper pads go on copper silk, component
* pads go on component silk */
&& ( ( (pt_pad->m_Masque_Layer & LAYER_BACK) == 0 )
|| ( (masque_layer & SILKSCREEN_LAYER_BACK) == 0 ) )
&& ( ( (pt_pad->m_Masque_Layer & LAYER_FRONT) == 0 )
|| ( (masque_layer & SILKSCREEN_LAYER_FRONT) == 0 ) ) )
{
if( !g_pcb_plot_options.Plot_Pads_All_Layers )
continue;
}
/* See if the pad is on this layer */
if( (pt_pad->m_Masque_Layer & masque_layer) == 0 )
continue;
shape_pos = pt_pad->ReturnShapePos();
pos = shape_pos;