Allow placing vias on tracks covered by areas of the same net
This commit is contained in:
@ -132,6 +132,7 @@ class FillArea:
|
|||||||
self.only_selected_area = False
|
self.only_selected_area = False
|
||||||
self.delete_vias = False
|
self.delete_vias = False
|
||||||
self.via_through_areas = False
|
self.via_through_areas = False
|
||||||
|
self.same_net_tracks = False
|
||||||
if self.pcb is not None:
|
if self.pcb is not None:
|
||||||
for lnet in ["GND", "/GND"]:
|
for lnet in ["GND", "/GND"]:
|
||||||
if self.pcb.FindNet(lnet) is not None:
|
if self.pcb.FindNet(lnet) is not None:
|
||||||
@ -168,6 +169,10 @@ class FillArea:
|
|||||||
self.via_through_areas = r
|
self.via_through_areas = r
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
def SetSameNetTracks(self, r):
|
||||||
|
self.same_net_tracks = r
|
||||||
|
return self
|
||||||
|
|
||||||
def SetType(self, type):
|
def SetType(self, type):
|
||||||
self.fill_type = type
|
self.fill_type = type
|
||||||
return self
|
return self
|
||||||
@ -705,6 +710,9 @@ STEP = '-'
|
|||||||
if self.debug:
|
if self.debug:
|
||||||
print("%s: Line %u" % (time.time(), currentframe().f_lineno))
|
print("%s: Line %u" % (time.time(), currentframe().f_lineno))
|
||||||
for track in all_tracks:
|
for track in all_tracks:
|
||||||
|
if self.same_net_tracks:
|
||||||
|
if not isinstance(track, PCB_VIA) and track.GetNetname() == self.netname:
|
||||||
|
continue
|
||||||
start_x = track.GetStart().x
|
start_x = track.GetStart().x
|
||||||
start_y = track.GetStart().y
|
start_y = track.GetStart().y
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ class FillAreaAction(pcbnew.ActionPlugin):
|
|||||||
fill.SetRandom(a.m_Random.IsChecked())
|
fill.SetRandom(a.m_Random.IsChecked())
|
||||||
fill.SetViaThroughAreas(a.m_viaThroughAreas.IsChecked())
|
fill.SetViaThroughAreas(a.m_viaThroughAreas.IsChecked())
|
||||||
fill.SetType(a.m_cbFillType.GetStringSelection())
|
fill.SetType(a.m_cbFillType.GetStringSelection())
|
||||||
|
fill.SetSameNetTracks(a.m_sameNetTracks.IsChecked())
|
||||||
if a.m_only_selected.IsChecked():
|
if a.m_only_selected.IsChecked():
|
||||||
fill.OnlyOnSelectedArea()
|
fill.OnlyOnSelectedArea()
|
||||||
fill.Run()
|
fill.Run()
|
||||||
|
@ -110,6 +110,14 @@ class FillAreaDialog ( wx.Dialog ):
|
|||||||
self.m_viaThroughAreas = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_viaThroughAreas = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||||
fgSizer1.Add( self.m_viaThroughAreas, 0, wx.ALL, 5 )
|
fgSizer1.Add( self.m_viaThroughAreas, 0, wx.ALL, 5 )
|
||||||
|
|
||||||
|
self.m_staticText72 = wx.StaticText( self, wx.ID_ANY, u"Also on tracks with same net", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||||
|
self.m_staticText72.Wrap( -1 )
|
||||||
|
|
||||||
|
fgSizer1.Add( self.m_staticText72, 0, wx.ALL, 5 )
|
||||||
|
|
||||||
|
self.m_sameNetTracks = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||||
|
fgSizer1.Add( self.m_sameNetTracks, 0, wx.ALL, 5 )
|
||||||
|
|
||||||
self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"Debug mode", wx.DefaultPosition, wx.DefaultSize, 0 )
|
self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"Debug mode", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||||
self.m_staticText7.Wrap( -1 )
|
self.m_staticText7.Wrap( -1 )
|
||||||
|
|
||||||
|
@ -1272,6 +1272,131 @@
|
|||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</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">Also on tracks with same net</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_staticText72</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">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"></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_SameNetTracks</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="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="sizeritem" expanded="0">
|
<object class="sizeritem" expanded="0">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL|wxEXPAND</property>
|
<property name="flag">wxALL|wxEXPAND</property>
|
||||||
|
Reference in New Issue
Block a user