diff --git a/AnnularChecker/AnnularDlg.fbp b/AnnularChecker/AnnularDlg.fbp
index 4a7af2a..7d576be 100644
--- a/AnnularChecker/AnnularDlg.fbp
+++ b/AnnularChecker/AnnularDlg.fbp
@@ -189,131 +189,6 @@
none
0
0
-
-
- 5
- wxALIGN_RIGHT|wxALL
- 0
-
- 1
- 1
- 1
- 1
-
-
-
-
-
-
-
- 1
- 0
- 1
-
- 1
- 0
- Dock
- 0
- Left
- 1
-
- 1
-
- 0
- 0
- wxID_ANY
-
- 0
-
-
-
- 0
-
- 1
- m_textCtrlPHD
- 1
-
-
- protected
- 1
-
- Resizable
- 1
-
-
- ; ; forward_declare
- 0
-
-
- wxFILTER_NONE
- wxDefaultValidator
-
-
-
-
-
-
-
5
wxALL
@@ -346,7 +221,7 @@
0
0
wxID_ANY
- AR Vias
+ AR Vias (mm)
0
0
@@ -471,7 +346,7 @@
0
0
wxID_ANY
- AR Pads
+ AR Pads (mm)
0
0
@@ -564,6 +439,195 @@
+
+ 5
+ wxALL
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ PH Drill margin (mm)
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticTextPHD
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_RIGHT|wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_textCtrlPHD
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ use drill size as finished hole size
+
+ 0
+
+
+ 0
+
+ 1
+ m_checkBoxPHD
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
diff --git a/AnnularChecker/AnnularDlg.py b/AnnularChecker/AnnularDlg.py
index 966a320..e147ed3 100644
--- a/AnnularChecker/AnnularDlg.py
+++ b/AnnularChecker/AnnularDlg.py
@@ -33,15 +33,7 @@ class AnnularDlg ( wx.Dialog ):
gSizer1 = wx.GridSizer( 0, 2, 0, 0 )
- self.m_staticTextPHD = wx.StaticText( self, wx.ID_ANY, u"PH Drill margin", wx.DefaultPosition, wx.DefaultSize, 0 )
- self.m_staticTextPHD.Wrap( -1 )
-
- gSizer1.Add( self.m_staticTextPHD, 1, wx.ALL, 5 )
-
- self.m_textCtrlPHD = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
- gSizer1.Add( self.m_textCtrlPHD, 0, wx.ALIGN_RIGHT|wx.ALL, 5 )
-
- self.m_staticTextARV = wx.StaticText( self, wx.ID_ANY, u"AR Vias", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticTextARV = wx.StaticText( self, wx.ID_ANY, u"AR Vias (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticTextARV.Wrap( -1 )
gSizer1.Add( self.m_staticTextARV, 0, wx.ALL, 5 )
@@ -49,7 +41,7 @@ class AnnularDlg ( wx.Dialog ):
self.m_textCtrlARV = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
gSizer1.Add( self.m_textCtrlARV, 0, wx.ALIGN_RIGHT|wx.ALL, 5 )
- self.m_staticTextARP = wx.StaticText( self, wx.ID_ANY, u"AR Pads", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticTextARP = wx.StaticText( self, wx.ID_ANY, u"AR Pads (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticTextARP.Wrap( -1 )
gSizer1.Add( self.m_staticTextARP, 0, wx.ALL, 5 )
@@ -57,6 +49,21 @@ class AnnularDlg ( wx.Dialog ):
self.m_textCtrlARP = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
gSizer1.Add( self.m_textCtrlARP, 0, wx.ALIGN_RIGHT|wx.ALL, 5 )
+ self.m_staticTextPHD = wx.StaticText( self, wx.ID_ANY, u"PH Drill margin (mm)", wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_staticTextPHD.Wrap( -1 )
+
+ self.m_staticTextPHD.Enable( False )
+
+ gSizer1.Add( self.m_staticTextPHD, 1, wx.ALL, 5 )
+
+ self.m_textCtrlPHD = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
+ self.m_textCtrlPHD.Enable( False )
+
+ gSizer1.Add( self.m_textCtrlPHD, 0, wx.ALIGN_RIGHT|wx.ALL, 5 )
+
+ self.m_checkBoxPHD = wx.CheckBox( self, wx.ID_ANY, u"use drill size as finished hole size", wx.DefaultPosition, wx.DefaultSize, 0 )
+ gSizer1.Add( self.m_checkBoxPHD, 0, wx.ALL, 5 )
+
bSizer3.Add( gSizer1, 1, wx.ALIGN_CENTER|wx.ALL, 5 )
diff --git a/AnnularChecker/annular_checker.py b/AnnularChecker/annular_checker.py
index fad8137..eaf8bf6 100644
--- a/AnnularChecker/annular_checker.py
+++ b/AnnularChecker/annular_checker.py
@@ -8,20 +8,14 @@
# annular.py checking PCB for Annular Ring in Vias and TH Pads
# (SMD, Connector and NPTH are skipped)
# default Annular Ring >= 0.15 both for TH Pads and Vias
-# to change values modify:
-#
-# AR_SET = 0.150 #minimum annular accepted for pads
-# AR_SET_V = 0.150 #minimum annular accepted for vias
-
-# annular.py
-
+#
#### plugins errors
#import pcbnew;pcbnew.GetWizardsBackTrace()
global mm_ius, DRL_EXTRA, AR_SET, AR_SET_V, DRL_EXTRA_ius, MIN_AR_SIZE, MIN_AR_SIZE_V, found_violations, LogMsg, ___version___
-___version___="1.6.2"
+___version___="1.6.3"
#wx.LogMessage("My message")
mm_ius = 1000000.0
@@ -124,17 +118,15 @@ class Annular_Dlg(AnnularDlg.AnnularDlg):
else:
super(Annular_Dlg, self).SetSizeHints(sz1, sz2)
- # def onDeleteClick(self, event):
- # return self.EndModal(wx.ID_DELETE)
- #
- # def onConnectClick(self, event):
- # return self.EndModal(wx.ID_REVERT)
-
def __init__(self, parent):
import wx
AnnularDlg.AnnularDlg.__init__(self, parent)
#self.GetSizer().Fit(self)
self.SetMinSize(self.GetSize())
+ #c1.Bind(wx.EVT_CHECKBOX, self.OntextMetric, c1)
+ #self.m_checkBoxPHD.Bind(wx.EVT_CHECKBOX, self.OnClickCheck, self.m_checkBoxPHD)
+ self.m_checkBoxPHD.Bind(wx.EVT_CHECKBOX, self.OnClickCheck)
+ #self.Bind(wx.EVT_CHECKBOX, self.OnClickCheck)
#self.m_buttonDelete.Bind(wx.EVT_BUTTON, self.onDeleteClick)
#self.m_buttonReconnect.Bind(wx.EVT_BUTTON, self.onConnectClick)
#if wx.__version__ < '4.0':
@@ -143,6 +135,22 @@ class Annular_Dlg(AnnularDlg.AnnularDlg):
#else:
# self.m_buttonReconnect.SetToolTip( u"Select two converging Tracks to re-connect them\nor Select tracks including one round corner to be straighten" )
# self.m_buttonRound.SetToolTip( u"Select two connected Tracks to round the corner\nThen choose distance from intersection and the number of segments" )
+ def OnClickCheck(self, event):
+ #self.Destroy()
+ if self.m_checkBoxPHD.IsChecked():
+ #self.Destroy()
+ self.m_staticTextPHD.Enable()
+ self.m_textCtrlPHD.Enable()
+ else:
+ self.m_staticTextPHD.Disable()
+ self.m_textCtrlPHD.Disable()
+
+ # def onDeleteClick(self, event):
+ # return self.EndModal(wx.ID_DELETE)
+ #
+ # def onConnectClick(self, event):
+ # return self.EndModal(wx.ID_REVERT)
+
# Python plugin stuff
class annular_check( pcbnew.ActionPlugin ):
@@ -150,15 +158,8 @@ class annular_check( pcbnew.ActionPlugin ):
A script to check for annular ring violations
both for TH pads and vias
requirements: KiCAD pcbnew >= 4.0
- annular.py release "1.5.1"
-
- annular.py checking PCB for Annular Ring in Vias and TH Pads
- (SMD, Connector and NPTH are skipped)
- default Annular Ring >= 0.15 both for TH Pads and Vias
- to change values modify:
-
- AR_SET = 0.150 #minimum annular accepted for pads
- AR_SET_V = 0.150 #minimum annular accepted for vias
+ AR_SET minimum annular accepted for pads
+ AR_SET_V minimum annular accepted for vias
"""
global ___version___
def defaults( self ):
@@ -169,7 +170,7 @@ class annular_check( pcbnew.ActionPlugin ):
self.description should be a comprehensive description
of the plugin
"""
- self.name = "Annular check \nversion "+___version___
+ self.name = "Annular checker \nversion "+___version___
self.category = "Checking PCB"
self.description = "Automaticaly check annular on an existing PCB"
#self.pcbnew_icon_support = hasattr(self, "show_toolbar_button")
@@ -184,11 +185,12 @@ class annular_check( pcbnew.ActionPlugin ):
aParameters = Annular_Dlg(_pcbnew_frame)
aParameters.m_LabelTitle.SetLabel("Check annular ring: version: "+___version___)
aParameters.m_textCtrlARP.SetToolTip( wx.ToolTip(u"Annular Ring for Pads (mm)" ))
- aParameters.m_staticTextPHD.SetToolTip( wx.ToolTip(u"Annular Ring for Pads (mm)" ))
+ aParameters.m_staticTextPHD.SetToolTip( wx.ToolTip(u"Drill extra margin (mm)" ))
aParameters.m_textCtrlARV.SetToolTip( wx.ToolTip(u"Annular Ring for Vias (mm)" ))
aParameters.m_staticTextARV.SetToolTip( wx.ToolTip(u"Annular Ring for Vias (mm)" ))
aParameters.m_textCtrlPHD.SetToolTip( wx.ToolTip(u"Drill extra margin (mm)" ))
aParameters.m_staticTextARP.SetToolTip( wx.ToolTip(u"Drill extra margin (mm)" ))
+ aParameters.m_checkBoxPHD.SetToolTip( wx.ToolTip(u"use drill size as finished hole size\nadding an extra drill margin" ))
aParameters.m_textCtrlPHD.SetValue('0.1')
aParameters.m_textCtrlARP.SetValue('0.125')
aParameters.m_textCtrlARV.SetValue('0.125')
@@ -200,9 +202,12 @@ class annular_check( pcbnew.ActionPlugin ):
phd = float(aParameters.m_textCtrlPHD.GetValue().replace(',','.'))
ar = float(aParameters.m_textCtrlARP.GetValue().replace(',','.'))
arv = float(aParameters.m_textCtrlARV.GetValue().replace(',','.'))
- DRL_EXTRA=phd
- DRL_EXTRA_ius=DRL_EXTRA * mm_ius
-
+ if aParameters.m_checkBoxPHD.IsChecked():
+ DRL_EXTRA=phd
+ DRL_EXTRA_ius=DRL_EXTRA * mm_ius
+ else:
+ DRL_EXTRA=0
+ DRL_EXTRA_ius=DRL_EXTRA * mm_ius
AR_SET = ar #minimum annular accepted for pads
MIN_AR_SIZE = AR_SET * mm_ius
diff --git a/AnnularChecker/annular_checker.pyc b/AnnularChecker/annular_checker.pyc
deleted file mode 100644
index 55d3356..0000000
Binary files a/AnnularChecker/annular_checker.pyc and /dev/null differ
diff --git a/README.md b/README.md
index 325e2b6..0047321 100644
--- a/README.md
+++ b/README.md
@@ -1,94 +1,94 @@
-# kicad-action-plugins
-#### kicad action plugin tools
-
-- ### action_menu_annular_check.py
-A script to check for annular ring violations
-for PTH, NPTH pads and vias
-
-- ### action_menu_pcb2dxf
-A script to export technical layers of kicad PCB to DXF
-DXF generated file has single line draw as it should be for mechanical interchange (this option is missing in pcbnew plot)
-
-- ### action_menu_move_to_layer
-A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
-
-- ### action_positions
-A script to Generate Position Files for SMD, THD, Virtual, ALL
-
----
-## action_menu_annular_check.py
-A script to check for annular ring violations
-for PTH, NPTH pads and vias
-
-requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
-release "1.5.3"
-
-'action_menu_annular_check.py' checking PCB for Annular Ring in PTH, NPTH and Vias
-(SMD, Connector and NPTH are skipped)
-default Annular Ring >= 0.15 both for TH Pads and Vias
-to change values modify:
-
- AR_SET = 0.150 #minimum annular accepted for pads
- AR_SET_V = 0.150 #minimum annular accepted for vias
- DRL_EXTRA = 0.100 #extra drill margin size for production
-
-Launch the Annular Check script in pcbnew from Tools menu:
-
-
-### todo (annular_check)
-- [ ] add colors to output list
-
----
-## action_menu_pcb2dxf
-**kicadpcb2dxf**
-_dxf exporter for mechanical layers of a kicad_pcb board_
-- "Dwgs", "Cmts", "Edge", "Eco1", "Eco2", "F.Fab", "B.Fab", "F.CrtYd", "B.CrtYd"
-- the dxf generated has single line draw as it should be for mechanical interchange (this option is missing in pcbnew plot)
-
-creates DXF file of technical layers of the selected kicad pcb board
-
-
-
-(this is a part of kicad StepUp tools; please refer to kicad StepUp tools for the full licence)
-
- kicadpcb2dxf: Copyright (c) 2015 Maurice easyw
- dxf_parser="r12writer from ezdxf 0.7.6": Copyright (C) 2016, Manfred Moitzi with MIT License
-
-done:
-- [x] added line, circle, arc primitives
-- [x] added footprint support
-- [x] fixed negative arc case
-- [x] added text support (mirror & alignement not supported)
-- [x] added multiline text
-- [x] add quote support
-
-### todo (kicadpcb2dxf)
-- [ ] tbd
-
----
-## action_menu_move_to_layer
-A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
-
-requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
-release "1.1.0"
-
- A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
- How to use:
- - move to GAL
- - select some draw objects
- - call the plugin
- - select the new layer
- - selected draw objects will be moved to new layer
-
-Launch the 'Move Selected drawings to chosen Layer' script in pcbnew from Tools menu
-
-
-- ### action_positions
-A script to Generate Position Files for SMD, THD, Virtual, ALL
-
-The script will generate Fabrication POS files for:
-
-- SMD
-- THD
-- VIRTUAL
-- ALL
+# kicad-action-tools
+#### A suite of kicad action plugin tools
+
+- ### Annular Ring Checker
+Check your kicad_pcb for annular ring violations:
+PTH Plated Trough Hole, NPTH Non Plated Trough Hole Pads and Vias
+
+- ### action_menu_pcb2dxf
+A script to export technical layers of kicad PCB to DXF
+DXF generated file has single line draw as it should be for mechanical interchange (this option is missing in pcbnew plot)
+
+- ### action_menu_move_to_layer
+A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
+
+- ### action_positions
+A script to Generate Position Files for SMD, THD, Virtual, ALL
+
+---
+## action_menu_annular_check.py
+A script to check for annular ring violations
+for PTH, NPTH pads and vias
+
+requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
+release "1.5.3"
+
+'action_menu_annular_check.py' checking PCB for Annular Ring in PTH, NPTH and Vias
+(SMD, Connector and NPTH are skipped)
+default Annular Ring >= 0.125 both for TH Pads and Vias
+to change values modify:
+
+ AR_SET = 0.150 #minimum annular accepted for pads
+ AR_SET_V = 0.150 #minimum annular accepted for vias
+ DRL_EXTRA = 0.100 #extra drill margin size for production
+
+Launch the Annular Check script in pcbnew from Tools menu:
+
+
+### todo (annular_check)
+- [ ] add colors to output list
+
+---
+## action_menu_pcb2dxf
+**kicadpcb2dxf**
+_dxf exporter for mechanical layers of a kicad_pcb board_
+- "Dwgs", "Cmts", "Edge", "Eco1", "Eco2", "F.Fab", "B.Fab", "F.CrtYd", "B.CrtYd"
+- the dxf generated has single line draw as it should be for mechanical interchange (this option is missing in pcbnew plot)
+
+creates DXF file of technical layers of the selected kicad pcb board
+
+
+
+(this is a part of kicad StepUp tools; please refer to kicad StepUp tools for the full licence)
+
+ kicadpcb2dxf: Copyright (c) 2015 Maurice easyw
+ dxf_parser="r12writer from ezdxf 0.7.6": Copyright (C) 2016, Manfred Moitzi with MIT License
+
+done:
+- [x] added line, circle, arc primitives
+- [x] added footprint support
+- [x] fixed negative arc case
+- [x] added text support (mirror & alignement not supported)
+- [x] added multiline text
+- [x] add quote support
+
+### todo (kicadpcb2dxf)
+- [ ] tbd
+
+---
+## action_menu_move_to_layer
+A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
+
+requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
+release "1.1.0"
+
+ A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
+ How to use:
+ - move to GAL
+ - select some draw objects
+ - call the plugin
+ - select the new layer
+ - selected draw objects will be moved to new layer
+
+Launch the 'Move Selected drawings to chosen Layer' script in pcbnew from Tools menu
+
+
+- ### action_positions
+A script to Generate Position Files for SMD, THD, Virtual, ALL
+
+The script will generate Fabrication POS files for:
+
+- SMD
+- THD
+- VIRTUAL
+- ALL