← Back to team overview

kicad-developers team mailing list archive

[PATCH] pcbnew: add option to set custom drill mark size during print

 

To help manaul drilling, the print dialog provides option to
print small drill marks.
This patch adds one more option to set custom drill mark size,
while keeping backward compability with previously saved
configuration values.

Fixes: lp:1287362
https://bugs.launchpad.net/kicad/+bug/1287362

Signed-off-by: Zoltan Gyarmati <zgyarmati@xxxxxxxxxxxx>
---
 pcbnew/dialogs/dialog_print_using_printer.cpp |  22 +-
 .../dialog_print_using_printer_base.cpp       |  36 +-
 .../dialog_print_using_printer_base.fbp       | 541 ++++++++++++++++--
 .../dialogs/dialog_print_using_printer_base.h |  13 +-
 pcbnew/pcbplot.h                              |   1 +
 pcbnew/print_board_functions.cpp              |  21 +-
 pcbnew/printout_controler.h                   |   4 +-
 7 files changed, 584 insertions(+), 54 deletions(-)

diff --git a/pcbnew/dialogs/dialog_print_using_printer.cpp b/pcbnew/dialogs/dialog_print_using_printer.cpp
index cd5443782..205a8be19 100644
--- a/pcbnew/dialogs/dialog_print_using_printer.cpp
+++ b/pcbnew/dialogs/dialog_print_using_printer.cpp
@@ -79,6 +79,7 @@ private:
     static bool     m_ExcludeEdgeLayer;
 
     UNIT_BINDER     m_defaultPenWidth;
+    UNIT_BINDER     m_drillMarkSize;
 
     bool TransferDataToWindow() override;
 
@@ -86,6 +87,8 @@ private:
     void OnPrintPreview( wxCommandEvent& event ) override;
     void OnPrintButtonClick( wxCommandEvent& event ) override;
     void OnScaleSelectionClick( wxCommandEvent& event ) override;
+    void OnDrillMarksChoiceChange( wxCommandEvent& event ) override;
+
 
     void SetPrintParameters();
     int SetLayerSetFromListSelection();
@@ -137,7 +140,9 @@ DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER( PCB_EDIT_FRAME* parent )
     DIALOG_PRINT_USING_PRINTER_BASE( parent ),
     m_parent( parent ),
     m_defaultPenWidth( parent, m_penWidthLabel, m_penWidthCtrl, m_penWidthUnits, true,
-                       PEN_WIDTH_MIN_VALUE, PEN_WIDTH_MAX_VALUE )
+                       PEN_WIDTH_MIN_VALUE, PEN_WIDTH_MAX_VALUE ),
+    m_drillMarkSize(parent, m_drillMarkSizeLabel, m_drillMarkSizeCtrl, m_drillMarkSizeUnits, true,
+                     0, 10000000)
 {
     m_config = Kiface().KifaceSettings();
     memset( m_layers, 0, sizeof( m_layers ) );
@@ -173,6 +178,7 @@ DIALOG_PRINT_USING_PRINTER::~DIALOG_PRINT_USING_PRINTER()
         m_config->Write( OPTKEY_PRINT_MONOCHROME_MODE, s_Parameters.m_Print_Black_and_White);
         m_config->Write( OPTKEY_PRINT_PAGE_PER_LAYER, s_Parameters.m_OptionPrintPage );
         m_config->Write( OPTKEY_PRINT_PADS_DRILL, (long) s_Parameters.m_DrillShapeOpt );
+        m_config->Write( OPTKEY_PRINT_PADS_DRILL_SIZE, s_Parameters.m_DrillShapeCustomSize );
 
         for( unsigned layer = 0; layer < DIM(m_layers); ++layer )
         {
@@ -240,6 +246,9 @@ bool DIALOG_PRINT_USING_PRINTER::TransferDataToWindow()
         m_config->Read( OPTKEY_PRINT_PADS_DRILL,  &tmp, PRINT_PARAMETERS::SMALL_DRILL_SHAPE );
         s_Parameters.m_DrillShapeOpt = (PRINT_PARAMETERS::DrillShapeOptT) tmp;
 
+        m_config->Read( OPTKEY_PRINT_PADS_DRILL_SIZE,&s_Parameters.m_DrillShapeCustomSize,SMALL_DRILL);
+
+
         // Test for a reasonable scale value. Set to 1 if problem
         if( s_Parameters.m_XScaleAdjust < MIN_SCALE || s_Parameters.m_XScaleAdjust > MAX_SCALE ||
             s_Parameters.m_YScaleAdjust < MIN_SCALE || s_Parameters.m_YScaleAdjust > MAX_SCALE )
@@ -255,6 +264,8 @@ bool DIALOG_PRINT_USING_PRINTER::TransferDataToWindow()
 
     // Options to plot pads and vias holes
     m_drillMarksChoice->SetSelection( s_Parameters.m_DrillShapeOpt );
+    m_drillMarkSizeCtrl->Enable(s_Parameters.m_DrillShapeOpt == PRINT_PARAMETERS::CUSTOM_DRILL_SIZE);
+    m_drillMarkSize.SetValue(s_Parameters.m_DrillShapeCustomSize);
 
     m_outputMode->SetSelection( s_Parameters.m_Print_Black_and_White ? 1 : 0 );
 
@@ -316,6 +327,9 @@ void DIALOG_PRINT_USING_PRINTER::SetPrintParameters()
     s_Parameters.m_DrillShapeOpt =
         (PRINT_PARAMETERS::DrillShapeOptT) m_drillMarksChoice->GetSelection();
 
+    s_Parameters.m_DrillShapeCustomSize = m_drillMarkSize.GetValue();
+
+
     s_Parameters.m_OptionPrintPage = m_PagesOption->GetSelection() != 0;
 
     SetLayerSetFromListSelection();
@@ -450,3 +464,9 @@ void DIALOG_PRINT_USING_PRINTER::OnPrintButtonClick( wxCommandEvent& event )
         *s_PrintData = printer.GetPrintDialogData().GetPrintData();
     }
 }
+
+void DIALOG_PRINT_USING_PRINTER::OnDrillMarksChoiceChange( wxCommandEvent& event )
+{
+    PRINT_PARAMETERS::DrillShapeOptT choice = (PRINT_PARAMETERS::DrillShapeOptT) event.GetSelection();
+    m_drillMarkSize.Enable(choice == PRINT_PARAMETERS::CUSTOM_DRILL_SIZE);
+}
diff --git a/pcbnew/dialogs/dialog_print_using_printer_base.cpp b/pcbnew/dialogs/dialog_print_using_printer_base.cpp
index e51d70475..c07cbc8bf 100644
--- a/pcbnew/dialogs/dialog_print_using_printer_base.cpp
+++ b/pcbnew/dialogs/dialog_print_using_printer_base.cpp
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Dec 30 2017)
+// C++ code generated with wxFormBuilder (version Aug  8 2018)
 // http://www.wxformbuilder.org/
 //
 // PLEASE DO *NOT* EDIT THIS FILE!
@@ -114,38 +114,51 @@ DIALOG_PRINT_USING_PRINTER_BASE::DIALOG_PRINT_USING_PRINTER_BASE( wxWindow* pare
 	m_penWidthCtrl = new wxTextCtrl( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 	gbSizer1->Add( m_penWidthCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
 	
+	m_drillMarkSizeCtrl = new wxTextCtrl( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+	m_drillMarkSizeCtrl->Enable( false );
+	
+	gbSizer1->Add( m_drillMarkSizeCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
+	
+	wxString m_drillMarksChoiceChoices[] = { _("No drill mark"), _("Small mark"), _("Real drill"), _("Custom size") };
+	int m_drillMarksChoiceNChoices = sizeof( m_drillMarksChoiceChoices ) / sizeof( wxString );
+	m_drillMarksChoice = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_drillMarksChoiceNChoices, m_drillMarksChoiceChoices, 0 );
+	m_drillMarksChoice->SetSelection( 3 );
+	gbSizer1->Add( m_drillMarksChoice, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+	
 	m_penWidthUnits = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
 	m_penWidthUnits->Wrap( -1 );
 	gbSizer1->Add( m_penWidthUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 	
+	m_drillMarkSizeUnits = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_drillMarkSizeUnits->Wrap( -1 );
+	gbSizer1->Add( m_drillMarkSizeUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
+	
 	m_drillMarksLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill marks:"), wxDefaultPosition, wxDefaultSize, 0 );
 	m_drillMarksLabel->Wrap( -1 );
 	gbSizer1->Add( m_drillMarksLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 	
-	wxString m_drillMarksChoiceChoices[] = { _("No drill mark"), _("Small mark"), _("Real drill") };
-	int m_drillMarksChoiceNChoices = sizeof( m_drillMarksChoiceChoices ) / sizeof( wxString );
-	m_drillMarksChoice = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_drillMarksChoiceNChoices, m_drillMarksChoiceChoices, 0 );
-	m_drillMarksChoice->SetSelection( 0 );
-	gbSizer1->Add( m_drillMarksChoice, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+	m_drillMarkSizeLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill mark size:"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_drillMarkSizeLabel->Wrap( -1 );
+	gbSizer1->Add( m_drillMarkSizeLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
 	
 	m_outputModeLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Output mode:"), wxDefaultPosition, wxDefaultSize, 0 );
 	m_outputModeLabel->Wrap( -1 );
-	gbSizer1->Add( m_outputModeLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+	gbSizer1->Add( m_outputModeLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 	
 	wxString m_outputModeChoices[] = { _("Color"), _("Black and white") };
 	int m_outputModeNChoices = sizeof( m_outputModeChoices ) / sizeof( wxString );
 	m_outputMode = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_outputModeNChoices, m_outputModeChoices, 0 );
 	m_outputMode->SetSelection( 0 );
-	gbSizer1->Add( m_outputMode, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+	gbSizer1->Add( m_outputMode, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
 	
 	m_Print_Sheet_Ref = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_FRAME_SEL, _("Print border and title block"), wxDefaultPosition, wxDefaultSize, 0 );
 	m_Print_Sheet_Ref->SetValue(true); 
 	m_Print_Sheet_Ref->SetToolTip( _("Print Frame references.") );
 	
-	gbSizer1->Add( m_Print_Sheet_Ref, wxGBPosition( 3, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+	gbSizer1->Add( m_Print_Sheet_Ref, wxGBPosition( 4, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 	
 	m_Print_Mirror = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Print mirrored"), wxDefaultPosition, wxDefaultSize, 0 );
-	gbSizer1->Add( m_Print_Mirror, wxGBPosition( 4, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+	gbSizer1->Add( m_Print_Mirror, wxGBPosition( 5, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 	
 	
 	gbSizer1->AddGrowableCol( 1 );
@@ -195,12 +208,12 @@ DIALOG_PRINT_USING_PRINTER_BASE::DIALOG_PRINT_USING_PRINTER_BASE( wxWindow* pare
 	
 	this->SetSizer( bMainSizer );
 	this->Layout();
-	bMainSizer->Fit( this );
 	
 	this->Centre( wxBOTH );
 	
 	// Connect Events
 	m_ScaleOption->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnScaleSelectionClick ), NULL, this );
+	m_drillMarksChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnDrillMarksChoiceChange ), NULL, this );
 	m_buttonOption->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPageSetup ), NULL, this );
 	m_sdbSizer1Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPrintPreview ), NULL, this );
 	m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPrintButtonClick ), NULL, this );
@@ -210,6 +223,7 @@ DIALOG_PRINT_USING_PRINTER_BASE::~DIALOG_PRINT_USING_PRINTER_BASE()
 {
 	// Disconnect Events
 	m_ScaleOption->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnScaleSelectionClick ), NULL, this );
+	m_drillMarksChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnDrillMarksChoiceChange ), NULL, this );
 	m_buttonOption->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPageSetup ), NULL, this );
 	m_sdbSizer1Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPrintPreview ), NULL, this );
 	m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PRINT_USING_PRINTER_BASE::OnPrintButtonClick ), NULL, this );
diff --git a/pcbnew/dialogs/dialog_print_using_printer_base.fbp b/pcbnew/dialogs/dialog_print_using_printer_base.fbp
index 189aeb8b9..b696d381d 100644
--- a/pcbnew/dialogs/dialog_print_using_printer_base.fbp
+++ b/pcbnew/dialogs/dialog_print_using_printer_base.fbp
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <wxFormBuilder_Project>
-    <FileVersion major="1" minor="13" />
+    <FileVersion major="1" minor="14" />
     <object class="Project" expanded="1">
         <property name="class_decoration"></property>
         <property name="code_generation">C++</property>
@@ -14,6 +14,7 @@
         <property name="file">dialog_print_using_printer_base</property>
         <property name="first_id">1000</property>
         <property name="help_provider">none</property>
+        <property name="indent_with_spaces"></property>
         <property name="internationalize">1</property>
         <property name="name">DialogPrint_base</property>
         <property name="namespace"></property>
@@ -44,7 +45,7 @@
             <property name="minimum_size">-1,-1</property>
             <property name="name">DIALOG_PRINT_USING_PRINTER_BASE</property>
             <property name="pos"></property>
-            <property name="size">-1,-1</property>
+            <property name="size">729,454</property>
             <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
             <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
             <property name="title">Print</property>
@@ -54,13 +55,20 @@
             <property name="window_style"></property>
             <event name="OnActivate"></event>
             <event name="OnActivateApp"></event>
-            <event name="OnAuiFindManager"></event>
+            <event name="OnAuiPaneActivated"></event>
             <event name="OnAuiPaneButton"></event>
             <event name="OnAuiPaneClose"></event>
             <event name="OnAuiPaneMaximize"></event>
             <event name="OnAuiPaneRestore"></event>
             <event name="OnAuiRender"></event>
+            <event name="OnAux1DClick"></event>
+            <event name="OnAux1Down"></event>
+            <event name="OnAux1Up"></event>
+            <event name="OnAux2DClick"></event>
+            <event name="OnAux2Down"></event>
+            <event name="OnAux2Up"></event>
             <event name="OnChar"></event>
+            <event name="OnCharHook"></event>
             <event name="OnClose"></event>
             <event name="OnEnterWindow"></event>
             <event name="OnEraseBackground"></event>
@@ -75,17 +83,23 @@
             <event name="OnLeftDClick"></event>
             <event name="OnLeftDown"></event>
             <event name="OnLeftUp"></event>
+            <event name="OnMaximize"></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="OnMove"></event>
+            <event name="OnMoveEnd"></event>
+            <event name="OnMoveStart"></event>
+            <event name="OnMoving"></event>
             <event name="OnPaint"></event>
             <event name="OnRightDClick"></event>
             <event name="OnRightDown"></event>
             <event name="OnRightUp"></event>
             <event name="OnSetFocus"></event>
+            <event name="OnShow"></event>
             <event name="OnSize"></event>
             <event name="OnUpdateUI"></event>
             <object class="wxBoxSizer" expanded="1">
@@ -166,6 +180,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">Copper layers:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -191,7 +206,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -277,7 +299,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnCheckListBox"></event>
                                                         <event name="OnCheckListBoxDClick"></event>
                                                         <event name="OnCheckListBoxToggled"></event>
@@ -349,6 +378,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">Technical layers:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -374,7 +404,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -460,7 +497,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnCheckListBox"></event>
                                                         <event name="OnCheckListBoxDClick"></event>
                                                         <event name="OnCheckListBoxToggled"></event>
@@ -554,7 +598,14 @@
                                         <property name="window_extra_style"></property>
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnCheckBox"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
@@ -655,7 +706,14 @@
                                         <property name="window_extra_style"></property>
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -714,6 +772,7 @@
                                         <property name="hidden">0</property>
                                         <property name="id">wxID_ANY</property>
                                         <property name="label">X scale adjust:</property>
+                                        <property name="markup">0</property>
                                         <property name="max_size"></property>
                                         <property name="maximize_button">0</property>
                                         <property name="maximum_size"></property>
@@ -739,7 +798,14 @@
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
                                         <property name="wrap">-1</property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -826,7 +892,14 @@
                                         <property name="window_extra_style"></property>
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -888,6 +961,7 @@
                                         <property name="hidden">0</property>
                                         <property name="id">wxID_ANY</property>
                                         <property name="label">Y scale adjust:</property>
+                                        <property name="markup">0</property>
                                         <property name="max_size"></property>
                                         <property name="maximize_button">0</property>
                                         <property name="maximum_size"></property>
@@ -913,7 +987,14 @@
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
                                         <property name="wrap">-1</property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -1000,7 +1081,14 @@
                                         <property name="window_extra_style"></property>
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -1068,7 +1156,7 @@
                                                 <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
                                                 <property name="permission">none</property>
                                                 <property name="vgap">2</property>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">0</property>
@@ -1104,6 +1192,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">Default pen size:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -1129,7 +1218,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1154,7 +1250,7 @@
                                                         <event name="OnUpdateUI"></event>
                                                     </object>
                                                 </object>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">1</property>
@@ -1219,7 +1315,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1249,13 +1352,212 @@
                                                     </object>
                                                 </object>
                                                 <object class="gbsizeritem" expanded="1">
+                                                    <property name="border">5</property>
+                                                    <property name="colspan">1</property>
+                                                    <property name="column">1</property>
+                                                    <property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</property>
+                                                    <property name="row">2</property>
+                                                    <property name="rowspan">1</property>
+                                                    <object class="wxTextCtrl" expanded="1">
+                                                        <property name="BottomDockable">1</property>
+                                                        <property name="LeftDockable">1</property>
+                                                        <property name="RightDockable">1</property>
+                                                        <property name="TopDockable">1</property>
+                                                        <property name="aui_layer"></property>
+                                                        <property name="aui_name"></property>
+                                                        <property name="aui_position"></property>
+                                                        <property name="aui_row"></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="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="enabled">0</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="max_size"></property>
+                                                        <property name="maximize_button">0</property>
+                                                        <property name="maximum_size"></property>
+                                                        <property name="maxlength">0</property>
+                                                        <property name="min_size"></property>
+                                                        <property name="minimize_button">0</property>
+                                                        <property name="minimum_size">-1,-1</property>
+                                                        <property name="moveable">1</property>
+                                                        <property name="name">m_drillMarkSizeCtrl</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"></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="value"></property>
+                                                        <property name="window_extra_style"></property>
+                                                        <property name="window_name"></property>
+                                                        <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
+                                                        <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></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="OnText"></event>
+                                                        <event name="OnTextEnter"></event>
+                                                        <event name="OnTextMaxLen"></event>
+                                                        <event name="OnTextURL"></event>
+                                                        <event name="OnUpdateUI"></event>
+                                                    </object>
+                                                </object>
+                                                <object class="gbsizeritem" expanded="0">
+                                                    <property name="border">5</property>
+                                                    <property name="colspan">1</property>
+                                                    <property name="column">1</property>
+                                                    <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
+                                                    <property name="row">1</property>
+                                                    <property name="rowspan">1</property>
+                                                    <object class="wxChoice" expanded="0">
+                                                        <property name="BottomDockable">1</property>
+                                                        <property name="LeftDockable">1</property>
+                                                        <property name="RightDockable">1</property>
+                                                        <property name="TopDockable">1</property>
+                                                        <property name="aui_layer"></property>
+                                                        <property name="aui_name"></property>
+                                                        <property name="aui_position"></property>
+                                                        <property name="aui_row"></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="choices">&quot;No drill mark&quot; &quot;Small mark&quot; &quot;Real drill&quot; &quot;Custom size&quot;</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="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="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_drillMarksChoice</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="selection">3</property>
+                                                        <property name="show">1</property>
+                                                        <property name="size"></property>
+                                                        <property name="style"></property>
+                                                        <property name="subclass">; forward_declare</property>
+                                                        <property name="toolbar_pane">0</property>
+                                                        <property name="tooltip"></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>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
+                                                        <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
+                                                        <event name="OnChoice">OnDrillMarksChoiceChange</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="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">2</property>
                                                     <property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT</property>
                                                     <property name="row">0</property>
                                                     <property name="rowspan">1</property>
-                                                    <object class="wxStaticText" expanded="1">
+                                                    <object class="wxStaticText" expanded="0">
                                                         <property name="BottomDockable">1</property>
                                                         <property name="LeftDockable">1</property>
                                                         <property name="RightDockable">1</property>
@@ -1284,6 +1586,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">mm</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -1309,7 +1612,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1335,13 +1645,107 @@
                                                     </object>
                                                 </object>
                                                 <object class="gbsizeritem" expanded="1">
+                                                    <property name="border">5</property>
+                                                    <property name="colspan">1</property>
+                                                    <property name="column">2</property>
+                                                    <property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT</property>
+                                                    <property name="row">2</property>
+                                                    <property name="rowspan">1</property>
+                                                    <object class="wxStaticText" expanded="1">
+                                                        <property name="BottomDockable">1</property>
+                                                        <property name="LeftDockable">1</property>
+                                                        <property name="RightDockable">1</property>
+                                                        <property name="TopDockable">1</property>
+                                                        <property name="aui_layer"></property>
+                                                        <property name="aui_name"></property>
+                                                        <property name="aui_position"></property>
+                                                        <property name="aui_row"></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="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="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">mm</property>
+                                                        <property name="markup">0</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_drillMarkSizeUnits</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">; forward_declare</property>
+                                                        <property name="toolbar_pane">0</property>
+                                                        <property name="tooltip"></property>
+                                                        <property name="window_extra_style"></property>
+                                                        <property name="window_name"></property>
+                                                        <property name="window_style"></property>
+                                                        <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
+                                                        <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></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="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">0</property>
                                                     <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property>
                                                     <property name="row">1</property>
                                                     <property name="rowspan">1</property>
-                                                    <object class="wxStaticText" expanded="1">
+                                                    <object class="wxStaticText" expanded="0">
                                                         <property name="BottomDockable">1</property>
                                                         <property name="LeftDockable">1</property>
                                                         <property name="RightDockable">1</property>
@@ -1370,6 +1774,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">Drill marks:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -1395,7 +1800,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1423,11 +1835,11 @@
                                                 <object class="gbsizeritem" expanded="1">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
-                                                    <property name="column">1</property>
-                                                    <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
-                                                    <property name="row">1</property>
+                                                    <property name="column">0</property>
+                                                    <property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT</property>
+                                                    <property name="row">2</property>
                                                     <property name="rowspan">1</property>
-                                                    <object class="wxChoice" expanded="1">
+                                                    <object class="wxStaticText" expanded="1">
                                                         <property name="BottomDockable">1</property>
                                                         <property name="LeftDockable">1</property>
                                                         <property name="RightDockable">1</property>
@@ -1441,7 +1853,6 @@
                                                         <property name="caption"></property>
                                                         <property name="caption_visible">1</property>
                                                         <property name="center_pane">0</property>
-                                                        <property name="choices">&quot;No drill mark&quot; &quot;Small mark&quot; &quot;Real drill&quot;</property>
                                                         <property name="close_button">1</property>
                                                         <property name="context_help"></property>
                                                         <property name="context_menu">1</property>
@@ -1456,6 +1867,8 @@
                                                         <property name="gripper">0</property>
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
+                                                        <property name="label">Drill mark size:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -1463,7 +1876,7 @@
                                                         <property name="minimize_button">0</property>
                                                         <property name="minimum_size"></property>
                                                         <property name="moveable">1</property>
-                                                        <property name="name">m_drillMarksChoice</property>
+                                                        <property name="name">m_drillMarkSizeLabel</property>
                                                         <property name="pane_border">1</property>
                                                         <property name="pane_position"></property>
                                                         <property name="pane_size"></property>
@@ -1471,22 +1884,24 @@
                                                         <property name="pin_button">1</property>
                                                         <property name="pos"></property>
                                                         <property name="resize">Resizable</property>
-                                                        <property name="selection">0</property>
                                                         <property name="show">1</property>
                                                         <property name="size"></property>
                                                         <property name="style"></property>
                                                         <property name="subclass">; forward_declare</property>
                                                         <property name="toolbar_pane">0</property>
                                                         <property name="tooltip"></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>
+                                                        <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
-                                                        <event name="OnChoice"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1511,14 +1926,14 @@
                                                         <event name="OnUpdateUI"></event>
                                                     </object>
                                                 </object>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">0</property>
                                                     <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
-                                                    <property name="row">2</property>
+                                                    <property name="row">3</property>
                                                     <property name="rowspan">1</property>
-                                                    <object class="wxStaticText" expanded="1">
+                                                    <object class="wxStaticText" expanded="0">
                                                         <property name="BottomDockable">1</property>
                                                         <property name="LeftDockable">1</property>
                                                         <property name="RightDockable">1</property>
@@ -1547,6 +1962,7 @@
                                                         <property name="hidden">0</property>
                                                         <property name="id">wxID_ANY</property>
                                                         <property name="label">Output mode:</property>
+                                                        <property name="markup">0</property>
                                                         <property name="max_size"></property>
                                                         <property name="maximize_button">0</property>
                                                         <property name="maximum_size"></property>
@@ -1572,7 +1988,14 @@
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
                                                         <property name="wrap">-1</property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
                                                         <event name="OnKeyDown"></event>
@@ -1597,14 +2020,14 @@
                                                         <event name="OnUpdateUI"></event>
                                                     </object>
                                                 </object>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">1</property>
                                                     <property name="column">1</property>
                                                     <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
-                                                    <property name="row">2</property>
+                                                    <property name="row">3</property>
                                                     <property name="rowspan">1</property>
-                                                    <object class="wxChoice" expanded="1">
+                                                    <object class="wxChoice" expanded="0">
                                                         <property name="BottomDockable">1</property>
                                                         <property name="LeftDockable">1</property>
                                                         <property name="RightDockable">1</property>
@@ -1662,7 +2085,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnChoice"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
@@ -1688,12 +2118,12 @@
                                                         <event name="OnUpdateUI"></event>
                                                     </object>
                                                 </object>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">3</property>
                                                     <property name="column">0</property>
                                                     <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
-                                                    <property name="row">3</property>
+                                                    <property name="row">4</property>
                                                     <property name="rowspan">1</property>
                                                     <object class="wxCheckBox" expanded="0">
                                                         <property name="BottomDockable">1</property>
@@ -1753,7 +2183,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnCheckBox"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
@@ -1779,12 +2216,12 @@
                                                         <event name="OnUpdateUI"></event>
                                                     </object>
                                                 </object>
-                                                <object class="gbsizeritem" expanded="1">
+                                                <object class="gbsizeritem" expanded="0">
                                                     <property name="border">5</property>
                                                     <property name="colspan">3</property>
                                                     <property name="column">0</property>
                                                     <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
-                                                    <property name="row">4</property>
+                                                    <property name="row">5</property>
                                                     <property name="rowspan">1</property>
                                                     <object class="wxCheckBox" expanded="0">
                                                         <property name="BottomDockable">1</property>
@@ -1844,7 +2281,14 @@
                                                         <property name="window_extra_style"></property>
                                                         <property name="window_name"></property>
                                                         <property name="window_style"></property>
+                                                        <event name="OnAux1DClick"></event>
+                                                        <event name="OnAux1Down"></event>
+                                                        <event name="OnAux1Up"></event>
+                                                        <event name="OnAux2DClick"></event>
+                                                        <event name="OnAux2Down"></event>
+                                                        <event name="OnAux2Up"></event>
                                                         <event name="OnChar"></event>
+                                                        <event name="OnCharHook"></event>
                                                         <event name="OnCheckBox"></event>
                                                         <event name="OnEnterWindow"></event>
                                                         <event name="OnEraseBackground"></event>
@@ -1938,7 +2382,14 @@
                                         <property name="window_extra_style"></property>
                                         <property name="window_name"></property>
                                         <property name="window_style"></property>
+                                        <event name="OnAux1DClick"></event>
+                                        <event name="OnAux1Down"></event>
+                                        <event name="OnAux1Up"></event>
+                                        <event name="OnAux2DClick"></event>
+                                        <event name="OnAux2Down"></event>
+                                        <event name="OnAux2Up"></event>
                                         <event name="OnChar"></event>
+                                        <event name="OnCharHook"></event>
                                         <event name="OnEnterWindow"></event>
                                         <event name="OnEraseBackground"></event>
                                         <event name="OnKeyDown"></event>
@@ -2024,7 +2475,14 @@
                         <property name="window_extra_style"></property>
                         <property name="window_name"></property>
                         <property name="window_style"></property>
+                        <event name="OnAux1DClick"></event>
+                        <event name="OnAux1Down"></event>
+                        <event name="OnAux1Up"></event>
+                        <event name="OnAux2DClick"></event>
+                        <event name="OnAux2Down"></event>
+                        <event name="OnAux2Up"></event>
                         <event name="OnChar"></event>
+                        <event name="OnCharHook"></event>
                         <event name="OnEnterWindow"></event>
                         <event name="OnEraseBackground"></event>
                         <event name="OnKeyDown"></event>
@@ -2049,20 +2507,20 @@
                         <event name="OnUpdateUI"></event>
                     </object>
                 </object>
-                <object class="sizeritem" expanded="1">
+                <object class="sizeritem" expanded="0">
                     <property name="border">10</property>
                     <property name="flag">wxEXPAND|wxLEFT</property>
                     <property name="proportion">0</property>
-                    <object class="wxBoxSizer" expanded="1">
+                    <object class="wxBoxSizer" expanded="0">
                         <property name="minimum_size"></property>
                         <property name="name">bButtonsSizer</property>
                         <property name="orient">wxHORIZONTAL</property>
                         <property name="permission">none</property>
-                        <object class="sizeritem" expanded="1">
+                        <object class="sizeritem" expanded="0">
                             <property name="border">5</property>
                             <property name="flag">wxALL|wxEXPAND</property>
                             <property name="proportion">0</property>
-                            <object class="wxButton" expanded="1">
+                            <object class="wxButton" expanded="0">
                                 <property name="BottomDockable">1</property>
                                 <property name="LeftDockable">1</property>
                                 <property name="RightDockable">1</property>
@@ -2073,25 +2531,31 @@
                                 <property name="aui_row"></property>
                                 <property name="best_size"></property>
                                 <property name="bg"></property>
+                                <property name="bitmap"></property>
                                 <property name="caption"></property>
                                 <property name="caption_visible">1</property>
                                 <property name="center_pane">0</property>
                                 <property name="close_button">1</property>
                                 <property name="context_help"></property>
                                 <property name="context_menu">1</property>
+                                <property name="current"></property>
                                 <property name="default">0</property>
                                 <property name="default_pane">0</property>
+                                <property name="disabled"></property>
                                 <property name="dock">Dock</property>
                                 <property name="dock_fixed">0</property>
                                 <property name="docking">Left</property>
                                 <property name="enabled">1</property>
                                 <property name="fg"></property>
                                 <property name="floatable">1</property>
+                                <property name="focus"></property>
                                 <property name="font"></property>
                                 <property name="gripper">0</property>
                                 <property name="hidden">0</property>
                                 <property name="id">wxID_PRINT_OPTIONS</property>
                                 <property name="label">Page Setup...</property>
+                                <property name="margins"></property>
+                                <property name="markup">0</property>
                                 <property name="max_size"></property>
                                 <property name="maximize_button">0</property>
                                 <property name="maximum_size"></property>
@@ -2106,6 +2570,8 @@
                                 <property name="permission">protected</property>
                                 <property name="pin_button">1</property>
                                 <property name="pos"></property>
+                                <property name="position"></property>
+                                <property name="pressed"></property>
                                 <property name="resize">Resizable</property>
                                 <property name="show">1</property>
                                 <property name="size"></property>
@@ -2120,8 +2586,15 @@
                                 <property name="window_extra_style"></property>
                                 <property name="window_name"></property>
                                 <property name="window_style"></property>
+                                <event name="OnAux1DClick"></event>
+                                <event name="OnAux1Down"></event>
+                                <event name="OnAux1Up"></event>
+                                <event name="OnAux2DClick"></event>
+                                <event name="OnAux2Down"></event>
+                                <event name="OnAux2Up"></event>
                                 <event name="OnButtonClick">OnPageSetup</event>
                                 <event name="OnChar"></event>
+                                <event name="OnCharHook"></event>
                                 <event name="OnEnterWindow"></event>
                                 <event name="OnEraseBackground"></event>
                                 <event name="OnKeyDown"></event>
@@ -2146,7 +2619,7 @@
                                 <event name="OnUpdateUI"></event>
                             </object>
                         </object>
-                        <object class="sizeritem" expanded="1">
+                        <object class="sizeritem" expanded="0">
                             <property name="border">5</property>
                             <property name="flag">wxALL|wxEXPAND</property>
                             <property name="proportion">1</property>
diff --git a/pcbnew/dialogs/dialog_print_using_printer_base.h b/pcbnew/dialogs/dialog_print_using_printer_base.h
index 9776505dd..5414e4dee 100644
--- a/pcbnew/dialogs/dialog_print_using_printer_base.h
+++ b/pcbnew/dialogs/dialog_print_using_printer_base.h
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Dec 30 2017)
+// C++ code generated with wxFormBuilder (version Aug  8 2018)
 // http://www.wxformbuilder.org/
 //
 // PLEASE DO *NOT* EDIT THIS FILE!
@@ -27,6 +27,9 @@
 #include <wx/choice.h>
 #include <wx/gbsizer.h>
 #include <wx/statline.h>
+#include <wx/bitmap.h>
+#include <wx/image.h>
+#include <wx/icon.h>
 #include <wx/button.h>
 #include <wx/dialog.h>
 
@@ -59,9 +62,12 @@ class DIALOG_PRINT_USING_PRINTER_BASE : public DIALOG_SHIM
 		wxTextCtrl* m_FineAdjustYscaleOpt;
 		wxStaticText* m_penWidthLabel;
 		wxTextCtrl* m_penWidthCtrl;
+		wxTextCtrl* m_drillMarkSizeCtrl;
+		wxChoice* m_drillMarksChoice;
 		wxStaticText* m_penWidthUnits;
+		wxStaticText* m_drillMarkSizeUnits;
 		wxStaticText* m_drillMarksLabel;
-		wxChoice* m_drillMarksChoice;
+		wxStaticText* m_drillMarkSizeLabel;
 		wxStaticText* m_outputModeLabel;
 		wxChoice* m_outputMode;
 		wxCheckBox* m_Print_Sheet_Ref;
@@ -76,6 +82,7 @@ class DIALOG_PRINT_USING_PRINTER_BASE : public DIALOG_SHIM
 		
 		// Virtual event handlers, overide them in your derived class
 		virtual void OnScaleSelectionClick( wxCommandEvent& event ) { event.Skip(); }
+		virtual void OnDrillMarksChoiceChange( wxCommandEvent& event ) { event.Skip(); }
 		virtual void OnPageSetup( wxCommandEvent& event ) { event.Skip(); }
 		virtual void OnPrintPreview( wxCommandEvent& event ) { event.Skip(); }
 		virtual void OnPrintButtonClick( wxCommandEvent& event ) { event.Skip(); }
@@ -83,7 +90,7 @@ class DIALOG_PRINT_USING_PRINTER_BASE : public DIALOG_SHIM
 	
 	public:
 		
-		DIALOG_PRINT_USING_PRINTER_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Print"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); 
+		DIALOG_PRINT_USING_PRINTER_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Print"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 729,454 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); 
 		~DIALOG_PRINT_USING_PRINTER_BASE();
 	
 };
diff --git a/pcbnew/pcbplot.h b/pcbnew/pcbplot.h
index 8f796ea09..c089c19da 100644
--- a/pcbnew/pcbplot.h
+++ b/pcbnew/pcbplot.h
@@ -58,6 +58,7 @@ class REPORTER;
 #define OPTKEY_PRINT_MONOCHROME_MODE wxT( "PrintMonochrome" )
 #define OPTKEY_PRINT_PAGE_PER_LAYER  wxT( "PrintSinglePage" )
 #define OPTKEY_PRINT_PADS_DRILL      wxT( "PrintPadsDrillOpt" )
+#define OPTKEY_PRINT_PADS_DRILL_SIZE wxT( "PrintPadsDrillCustomSize" )
 #define OPTKEY_PLOT_X_FINESCALE_ADJ  wxT( "PlotXFineScaleAdj" )
 #define OPTKEY_PLOT_Y_FINESCALE_ADJ  wxT( "PlotYFineScaleAdj" )
 #define CONFIG_PS_FINEWIDTH_ADJ      wxT( "PSPlotFineWidthAdj" )
diff --git a/pcbnew/print_board_functions.cpp b/pcbnew/print_board_functions.cpp
index 8759797c1..718853bcc 100644
--- a/pcbnew/print_board_functions.cpp
+++ b/pcbnew/print_board_functions.cpp
@@ -42,7 +42,8 @@
 
 static void Print_Module( EDA_DRAW_PANEL* aPanel, wxDC* aDC, MODULE* aModule,
                           GR_DRAWMODE aDraw_mode, LSET aMasklayer,
-                          PRINT_PARAMETERS::DrillShapeOptT aDrillShapeOpt );
+                          PRINT_PARAMETERS::DrillShapeOptT aDrillShapeOpt,
+                          int aDrillShapeCustomSize);
 
 void FOOTPRINT_EDIT_FRAME::PrintPage( wxDC* aDC,
                                       LSET aPrintMaskLayer,
@@ -90,7 +91,7 @@ void FOOTPRINT_EDIT_FRAME::PrintPage( wxDC* aDC,
     for( MODULE* module = GetBoard()->m_Modules;  module;  module = module->Next() )
     {
         module->Move( offset );
-        Print_Module( m_canvas, aDC, module, drawmode, aPrintMaskLayer, drillShapeOpt );
+        Print_Module( m_canvas, aDC, module, drawmode, aPrintMaskLayer, drillShapeOpt, 0);
         module->Move( -offset );
     }
 
@@ -112,6 +113,7 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
     PCB_DISPLAY_OPTIONS save_opt;
     BOARD*          Pcb   = GetBoard();
     int             defaultPenSize = Millimeter2iu( 0.2 );
+    int          drillShapeCustomSize = (SMALL_DRILL);
 
     PRINT_PARAMETERS* printParameters = (PRINT_PARAMETERS*) aData; // can be null
     auto displ_opts = (PCB_DISPLAY_OPTIONS*) GetDisplayOptions();
@@ -122,6 +124,7 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
     {
         drillShapeOpt = printParameters->m_DrillShapeOpt;
         defaultPenSize = printParameters->m_PenDefaultSize;
+        drillShapeCustomSize = printParameters->m_DrillShapeCustomSize;
     }
 
     save_opt = *displ_opts;
@@ -238,7 +241,7 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
 
     for( MODULE* module = (MODULE*) Pcb->m_Modules; module;  module = module->Next() )
     {
-        Print_Module( m_canvas, aDC, module, drawmode, aPrintMask, drillShapeOpt );
+        Print_Module( m_canvas, aDC, module, drawmode, aPrintMask, drillShapeOpt,drillShapeCustomSize );
     }
 
     D_PAD::m_PadSketchModePenSize = tmp;
@@ -266,6 +269,8 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
 
                 if( drillShapeOpt == PRINT_PARAMETERS::SMALL_DRILL_SHAPE )
                     diameter = std::min( SMALL_DRILL, via->GetDrillValue() );
+                else if( drillShapeOpt == PRINT_PARAMETERS::CUSTOM_DRILL_SIZE )
+                    diameter =  drillShapeCustomSize;
                 else
                     diameter = via->GetDrillValue();
 
@@ -294,8 +299,10 @@ void PCB_EDIT_FRAME::PrintPage( wxDC* aDC,
 
 static void Print_Module( EDA_DRAW_PANEL* aPanel, wxDC* aDC, MODULE* aModule,
                           GR_DRAWMODE aDraw_mode, LSET aMask,
-                          PRINT_PARAMETERS::DrillShapeOptT aDrillShapeOpt )
+                          PRINT_PARAMETERS::DrillShapeOptT aDrillShapeOpt,
+                          int aDrillShapeCustomSize)
 {
+
     // Print pads
     for( D_PAD* pad = aModule->PadsList();  pad;  pad = pad->Next() )
     {
@@ -323,6 +330,12 @@ static void Print_Module( EDA_DRAW_PANEL* aPanel, wxDC* aDC, MODULE* aModule,
         case PRINT_PARAMETERS::FULL_DRILL_SHAPE:
             // Do nothing
             break;
+
+        case PRINT_PARAMETERS::CUSTOM_DRILL_SIZE:
+            wxSize sz((aDrillShapeCustomSize),
+                      (aDrillShapeCustomSize));
+            pad->SetDrillSize( sz );
+            break;
         }
 
         pad->Draw( aPanel, aDC, aDraw_mode );
diff --git a/pcbnew/printout_controler.h b/pcbnew/printout_controler.h
index fcc6c194d..530df1775 100644
--- a/pcbnew/printout_controler.h
+++ b/pcbnew/printout_controler.h
@@ -65,10 +65,12 @@ public:
     enum DrillShapeOptT {
         NO_DRILL_SHAPE    = 0,
         SMALL_DRILL_SHAPE = 1,
-        FULL_DRILL_SHAPE  = 2
+        FULL_DRILL_SHAPE  = 2,
+        CUSTOM_DRILL_SIZE  = 3
     };
 
     DrillShapeOptT m_DrillShapeOpt;          // Options to print pads and via holes
+    int m_DrillShapeCustomSize;
 
 public:
     PRINT_PARAMETERS();

Follow ups