Annular checker, option to use drill size as finished hole size
This commit is contained in:
@ -189,131 +189,6 @@
|
|||||||
<property name="permission">none</property>
|
<property name="permission">none</property>
|
||||||
<property name="rows">0</property>
|
<property name="rows">0</property>
|
||||||
<property name="vgap">0</property>
|
<property name="vgap">0</property>
|
||||||
<object class="sizeritem" expanded="0">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxALL</property>
|
|
||||||
<property name="proportion">1</property>
|
|
||||||
<object class="wxStaticText" 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="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">PH Drill margin</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_staticTextPHD</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="window_extra_style"></property>
|
|
||||||
<property name="window_name"></property>
|
|
||||||
<property name="window_style"></property>
|
|
||||||
<property name="wrap">-1</property>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="1">
|
|
||||||
<property name="border">5</property>
|
|
||||||
<property name="flag">wxALIGN_RIGHT|wxALL</property>
|
|
||||||
<property name="proportion">0</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">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="maxlength"></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_textCtrlPHD</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="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>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxALL</property>
|
||||||
@ -346,7 +221,7 @@
|
|||||||
<property name="gripper">0</property>
|
<property name="gripper">0</property>
|
||||||
<property name="hidden">0</property>
|
<property name="hidden">0</property>
|
||||||
<property name="id">wxID_ANY</property>
|
<property name="id">wxID_ANY</property>
|
||||||
<property name="label">AR Vias</property>
|
<property name="label">AR Vias (mm)</property>
|
||||||
<property name="markup">0</property>
|
<property name="markup">0</property>
|
||||||
<property name="max_size"></property>
|
<property name="max_size"></property>
|
||||||
<property name="maximize_button">0</property>
|
<property name="maximize_button">0</property>
|
||||||
@ -471,7 +346,7 @@
|
|||||||
<property name="gripper">0</property>
|
<property name="gripper">0</property>
|
||||||
<property name="hidden">0</property>
|
<property name="hidden">0</property>
|
||||||
<property name="id">wxID_ANY</property>
|
<property name="id">wxID_ANY</property>
|
||||||
<property name="label">AR Pads</property>
|
<property name="label">AR Pads (mm)</property>
|
||||||
<property name="markup">0</property>
|
<property name="markup">0</property>
|
||||||
<property name="max_size"></property>
|
<property name="max_size"></property>
|
||||||
<property name="maximize_button">0</property>
|
<property name="maximize_button">0</property>
|
||||||
@ -564,6 +439,195 @@
|
|||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="0">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">1</property>
|
||||||
|
<object class="wxStaticText" 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="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="label">PH Drill margin (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_staticTextPHD</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="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<property name="wrap">-1</property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALIGN_RIGHT|wxALL</property>
|
||||||
|
<property name="proportion">0</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"></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_textCtrlPHD</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="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>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxCheckBox" 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="checked">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="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">use drill size as finished hole size</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_checkBoxPHD</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="validator_data_type"></property>
|
||||||
|
<property name="validator_style">wxFILTER_NONE</property>
|
||||||
|
<property name="validator_type">wxDefaultValidator</property>
|
||||||
|
<property name="validator_variable"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
|
@ -33,15 +33,7 @@ class AnnularDlg ( wx.Dialog ):
|
|||||||
|
|
||||||
gSizer1 = wx.GridSizer( 0, 2, 0, 0 )
|
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_staticTextARV = wx.StaticText( self, wx.ID_ANY, u"AR Vias (mm)", 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.Wrap( -1 )
|
self.m_staticTextARV.Wrap( -1 )
|
||||||
|
|
||||||
gSizer1.Add( self.m_staticTextARV, 0, wx.ALL, 5 )
|
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 )
|
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 )
|
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 )
|
self.m_staticTextARP.Wrap( -1 )
|
||||||
|
|
||||||
gSizer1.Add( self.m_staticTextARP, 0, wx.ALL, 5 )
|
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 )
|
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 )
|
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 )
|
bSizer3.Add( gSizer1, 1, wx.ALIGN_CENTER|wx.ALL, 5 )
|
||||||
|
|
||||||
|
@ -8,20 +8,14 @@
|
|||||||
# annular.py checking PCB for Annular Ring in Vias and TH Pads
|
# annular.py checking PCB for Annular Ring in Vias and TH Pads
|
||||||
# (SMD, Connector and NPTH are skipped)
|
# (SMD, Connector and NPTH are skipped)
|
||||||
# default Annular Ring >= 0.15 both for TH Pads and Vias
|
# 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
|
#### plugins errors
|
||||||
#import pcbnew;pcbnew.GetWizardsBackTrace()
|
#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___
|
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")
|
#wx.LogMessage("My message")
|
||||||
mm_ius = 1000000.0
|
mm_ius = 1000000.0
|
||||||
@ -124,17 +118,15 @@ class Annular_Dlg(AnnularDlg.AnnularDlg):
|
|||||||
else:
|
else:
|
||||||
super(Annular_Dlg, self).SetSizeHints(sz1, sz2)
|
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):
|
def __init__(self, parent):
|
||||||
import wx
|
import wx
|
||||||
AnnularDlg.AnnularDlg.__init__(self, parent)
|
AnnularDlg.AnnularDlg.__init__(self, parent)
|
||||||
#self.GetSizer().Fit(self)
|
#self.GetSizer().Fit(self)
|
||||||
self.SetMinSize(self.GetSize())
|
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_buttonDelete.Bind(wx.EVT_BUTTON, self.onDeleteClick)
|
||||||
#self.m_buttonReconnect.Bind(wx.EVT_BUTTON, self.onConnectClick)
|
#self.m_buttonReconnect.Bind(wx.EVT_BUTTON, self.onConnectClick)
|
||||||
#if wx.__version__ < '4.0':
|
#if wx.__version__ < '4.0':
|
||||||
@ -143,6 +135,22 @@ class Annular_Dlg(AnnularDlg.AnnularDlg):
|
|||||||
#else:
|
#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_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" )
|
# 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
|
# Python plugin stuff
|
||||||
class annular_check( pcbnew.ActionPlugin ):
|
class annular_check( pcbnew.ActionPlugin ):
|
||||||
@ -150,15 +158,8 @@ class annular_check( pcbnew.ActionPlugin ):
|
|||||||
A script to check for annular ring violations
|
A script to check for annular ring violations
|
||||||
both for TH pads and vias
|
both for TH pads and vias
|
||||||
requirements: KiCAD pcbnew >= 4.0
|
requirements: KiCAD pcbnew >= 4.0
|
||||||
annular.py release "1.5.1"
|
AR_SET minimum annular accepted for pads
|
||||||
|
AR_SET_V minimum annular accepted for vias
|
||||||
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
|
|
||||||
"""
|
"""
|
||||||
global ___version___
|
global ___version___
|
||||||
def defaults( self ):
|
def defaults( self ):
|
||||||
@ -169,7 +170,7 @@ class annular_check( pcbnew.ActionPlugin ):
|
|||||||
self.description should be a comprehensive description
|
self.description should be a comprehensive description
|
||||||
of the plugin
|
of the plugin
|
||||||
"""
|
"""
|
||||||
self.name = "Annular check \nversion "+___version___
|
self.name = "Annular checker \nversion "+___version___
|
||||||
self.category = "Checking PCB"
|
self.category = "Checking PCB"
|
||||||
self.description = "Automaticaly check annular on an existing PCB"
|
self.description = "Automaticaly check annular on an existing PCB"
|
||||||
#self.pcbnew_icon_support = hasattr(self, "show_toolbar_button")
|
#self.pcbnew_icon_support = hasattr(self, "show_toolbar_button")
|
||||||
@ -184,11 +185,12 @@ class annular_check( pcbnew.ActionPlugin ):
|
|||||||
aParameters = Annular_Dlg(_pcbnew_frame)
|
aParameters = Annular_Dlg(_pcbnew_frame)
|
||||||
aParameters.m_LabelTitle.SetLabel("Check annular ring: version: "+___version___)
|
aParameters.m_LabelTitle.SetLabel("Check annular ring: version: "+___version___)
|
||||||
aParameters.m_textCtrlARP.SetToolTip( wx.ToolTip(u"Annular Ring for Pads (mm)" ))
|
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_textCtrlARV.SetToolTip( wx.ToolTip(u"Annular Ring for Vias (mm)" ))
|
||||||
aParameters.m_staticTextARV.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_textCtrlPHD.SetToolTip( wx.ToolTip(u"Drill extra margin (mm)" ))
|
||||||
aParameters.m_staticTextARP.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_textCtrlPHD.SetValue('0.1')
|
||||||
aParameters.m_textCtrlARP.SetValue('0.125')
|
aParameters.m_textCtrlARP.SetValue('0.125')
|
||||||
aParameters.m_textCtrlARV.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(',','.'))
|
phd = float(aParameters.m_textCtrlPHD.GetValue().replace(',','.'))
|
||||||
ar = float(aParameters.m_textCtrlARP.GetValue().replace(',','.'))
|
ar = float(aParameters.m_textCtrlARP.GetValue().replace(',','.'))
|
||||||
arv = float(aParameters.m_textCtrlARV.GetValue().replace(',','.'))
|
arv = float(aParameters.m_textCtrlARV.GetValue().replace(',','.'))
|
||||||
DRL_EXTRA=phd
|
if aParameters.m_checkBoxPHD.IsChecked():
|
||||||
DRL_EXTRA_ius=DRL_EXTRA * mm_ius
|
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
|
AR_SET = ar #minimum annular accepted for pads
|
||||||
MIN_AR_SIZE = AR_SET * mm_ius
|
MIN_AR_SIZE = AR_SET * mm_ius
|
||||||
|
|
||||||
|
Binary file not shown.
188
README.md
188
README.md
@ -1,94 +1,94 @@
|
|||||||
# kicad-action-plugins
|
# kicad-action-tools
|
||||||
#### <font color='navy'><b>kicad action plugin tools</b></font>
|
#### <font color='navy'><b>A suite of kicad action plugin tools</b></font>
|
||||||
|
|
||||||
- ### action_menu_annular_check.py
|
- ### Annular Ring Checker
|
||||||
A script to check for annular ring violations
|
Check your kicad_pcb for annular ring violations:
|
||||||
for PTH, NPTH pads and vias
|
PTH Plated Trough Hole, NPTH Non Plated Trough Hole Pads and Vias
|
||||||
|
|
||||||
- ### action_menu_pcb2dxf
|
- ### action_menu_pcb2dxf
|
||||||
A script to export technical layers of kicad PCB to DXF
|
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)
|
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
|
- ### action_menu_move_to_layer
|
||||||
A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
|
A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
|
||||||
|
|
||||||
- ### action_positions
|
- ### action_positions
|
||||||
A script to Generate Position Files for SMD, THD, Virtual, ALL
|
A script to Generate Position Files for SMD, THD, Virtual, ALL
|
||||||
|
|
||||||
---
|
---
|
||||||
## action_menu_annular_check.py
|
## action_menu_annular_check.py
|
||||||
A script to check for annular ring violations
|
A script to check for annular ring violations
|
||||||
for PTH, NPTH pads and vias
|
for PTH, NPTH pads and vias
|
||||||
|
|
||||||
requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
|
requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
|
||||||
release "1.5.3"
|
release "1.5.3"
|
||||||
|
|
||||||
'action_menu_annular_check.py' checking PCB for Annular Ring in PTH, NPTH and Vias
|
'action_menu_annular_check.py' checking PCB for Annular Ring in PTH, NPTH and Vias
|
||||||
(SMD, Connector and NPTH are skipped)
|
(SMD, Connector and NPTH are skipped)
|
||||||
default Annular Ring >= 0.15 both for TH Pads and Vias
|
default Annular Ring >= 0.125 both for TH Pads and Vias
|
||||||
to change values modify:
|
to change values modify:
|
||||||
|
|
||||||
AR_SET = 0.150 #minimum annular accepted for pads
|
AR_SET = 0.150 #minimum annular accepted for pads
|
||||||
AR_SET_V = 0.150 #minimum annular accepted for vias
|
AR_SET_V = 0.150 #minimum annular accepted for vias
|
||||||
DRL_EXTRA = 0.100 #extra drill margin size for production
|
DRL_EXTRA = 0.100 #extra drill margin size for production
|
||||||
|
|
||||||
Launch the Annular Check script in pcbnew from Tools menu:
|
Launch the Annular Check script in pcbnew from Tools menu:
|
||||||

|

|
||||||
|
|
||||||
### todo (annular_check)
|
### todo (annular_check)
|
||||||
- [ ] add colors to output list
|
- [ ] add colors to output list
|
||||||
|
|
||||||
---
|
---
|
||||||
## action_menu_pcb2dxf
|
## action_menu_pcb2dxf
|
||||||
**kicadpcb2dxf**
|
**kicadpcb2dxf**
|
||||||
_dxf exporter for mechanical layers of a kicad_pcb board_
|
_dxf exporter for mechanical layers of a kicad_pcb board_
|
||||||
- "Dwgs", "Cmts", "Edge", "Eco1", "Eco2", "F.Fab", "B.Fab", "F.CrtYd", "B.CrtYd"
|
- "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)
|
- 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
|
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)
|
(this is a part of kicad StepUp tools; please refer to kicad StepUp tools for the full licence)
|
||||||
|
|
||||||
kicadpcb2dxf: Copyright (c) 2015 Maurice easyw
|
kicadpcb2dxf: Copyright (c) 2015 Maurice easyw
|
||||||
dxf_parser="r12writer from ezdxf 0.7.6": Copyright (C) 2016, Manfred Moitzi with MIT License
|
dxf_parser="r12writer from ezdxf 0.7.6": Copyright (C) 2016, Manfred Moitzi with MIT License
|
||||||
|
|
||||||
done:
|
done:
|
||||||
- [x] added line, circle, arc primitives
|
- [x] added line, circle, arc primitives
|
||||||
- [x] added footprint support
|
- [x] added footprint support
|
||||||
- [x] fixed negative arc case
|
- [x] fixed negative arc case
|
||||||
- [x] added text support (mirror & alignement not supported)
|
- [x] added text support (mirror & alignement not supported)
|
||||||
- [x] added multiline text
|
- [x] added multiline text
|
||||||
- [x] add quote support
|
- [x] add quote support
|
||||||
|
|
||||||
### todo (kicadpcb2dxf)
|
### todo (kicadpcb2dxf)
|
||||||
- [ ] tbd
|
- [ ] tbd
|
||||||
|
|
||||||
---
|
---
|
||||||
## action_menu_move_to_layer
|
## action_menu_move_to_layer
|
||||||
A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
|
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
|
requirements: KiCAD pcbnew > 4.0 built with KICAD_SCRIPTING_ACTION_MENU option activated
|
||||||
release "1.1.0"
|
release "1.1.0"
|
||||||
|
|
||||||
A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
|
A script to Move Selected Drawing(s) to chosen new Layer (available only in GAL)
|
||||||
How to use:
|
How to use:
|
||||||
- move to GAL
|
- move to GAL
|
||||||
- select some draw objects
|
- select some draw objects
|
||||||
- call the plugin
|
- call the plugin
|
||||||
- select the new layer
|
- select the new layer
|
||||||
- selected draw objects will be moved to 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
|
Launch the 'Move Selected drawings to chosen Layer' script in pcbnew from Tools menu
|
||||||

|

|
||||||
|
|
||||||
- ### action_positions
|
- ### action_positions
|
||||||
A script to Generate Position Files for SMD, THD, Virtual, ALL
|
A script to Generate Position Files for SMD, THD, Virtual, ALL
|
||||||
|
|
||||||
The script will generate Fabrication POS files for:
|
The script will generate Fabrication POS files for:
|
||||||
|
|
||||||
- SMD
|
- SMD
|
||||||
- THD
|
- THD
|
||||||
- VIRTUAL
|
- VIRTUAL
|
||||||
- ALL
|
- ALL
|
||||||
|
Reference in New Issue
Block a user