Fix delete; backport Dialog modification to FillAreaTpl.fbp
This commit is contained in:
@ -161,9 +161,6 @@ class FillArea:
|
|||||||
print()
|
print()
|
||||||
print()
|
print()
|
||||||
|
|
||||||
def PrepareFootprint(self):
|
|
||||||
return self
|
|
||||||
|
|
||||||
def CleanupFootprint(self):
|
def CleanupFootprint(self):
|
||||||
"""
|
"""
|
||||||
cleanup temp footprint
|
cleanup temp footprint
|
||||||
@ -171,14 +168,14 @@ class FillArea:
|
|||||||
if self.tmp_dir and os.path.isdir(self.tmp_dir):
|
if self.tmp_dir and os.path.isdir(self.tmp_dir):
|
||||||
shutil.rmtree(self.tmp_dir)
|
shutil.rmtree(self.tmp_dir)
|
||||||
|
|
||||||
def AddModule(self, module, position, x, y):
|
def AddVia(self, position, x, y):
|
||||||
m = VIA(self.pcb)
|
m = VIA(self.pcb)
|
||||||
m.SetPosition(position)
|
m.SetPosition(position)
|
||||||
m.SetNet(self.pcb.FindNet("GND"))
|
m.SetNet(self.pcb.FindNet(self.netname))
|
||||||
m.SetViaType(VIA_THROUGH)
|
m.SetViaType(VIA_THROUGH)
|
||||||
print(self.size)
|
|
||||||
m.SetDrill(int(self.drill))
|
m.SetDrill(int(self.drill))
|
||||||
m.SetWidth(int(self.size))
|
m.SetWidth(int(self.size))
|
||||||
|
m.SetTimeStamp(33) # USE 33 as timestamp to mark this via as generated
|
||||||
self.pcb.Add(m)
|
self.pcb.Add(m)
|
||||||
|
|
||||||
def RefillBoardAreas(self):
|
def RefillBoardAreas(self):
|
||||||
@ -195,18 +192,18 @@ class FillArea:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if self.delete_vias:
|
if self.delete_vias:
|
||||||
for module in self.pcb.GetModules():
|
for via in self.pcb.GetTracks():
|
||||||
if self.debug:
|
if via.Type() == PCB_VIA_T:
|
||||||
print("* Deleting module: %s" % module.GetValue())
|
if via.GetTimeStamp() == 33:
|
||||||
if module.GetValue() == "AUTO_VIA":
|
if self.debug:
|
||||||
self.pcb.RemoveNative(module)
|
print("* Deleting via %u" % via.GetTimeStamp())
|
||||||
|
self.pcb.RemoveNative(via)
|
||||||
self.RefillBoardAreas()
|
self.RefillBoardAreas()
|
||||||
return # no need to run the rest of logic
|
return # no need to run the rest of logic
|
||||||
|
|
||||||
lboard = self.pcb.ComputeBoundingBox()
|
lboard = self.pcb.ComputeBoundingBox()
|
||||||
rectangle = []
|
rectangle = []
|
||||||
origin = lboard.GetPosition()
|
origin = lboard.GetPosition()
|
||||||
module = self.PrepareFootprint()
|
|
||||||
|
|
||||||
# Create an initial rectangle: all is off
|
# Create an initial rectangle: all is off
|
||||||
# get a margin to avoid out of range
|
# get a margin to avoid out of range
|
||||||
@ -382,20 +379,20 @@ class FillArea:
|
|||||||
ran_y = (random.random() * self.step / 2.0) - \
|
ran_y = (random.random() * self.step / 2.0) - \
|
||||||
(self.step / 4.0)
|
(self.step / 4.0)
|
||||||
if self.star:
|
if self.star:
|
||||||
if y%2:
|
if y % 2:
|
||||||
if ((x+1)%2):
|
if ((x + 1) % 2):
|
||||||
self.AddModule(
|
self.AddVia(
|
||||||
module, wxPoint(origin.x + (self.step * x) + ran_x,
|
wxPoint(origin.x + (self.step * x) + ran_x,
|
||||||
origin.y + (self.step * y) + ran_y), x, y)
|
|
||||||
else:
|
|
||||||
if (x%2):
|
|
||||||
self.AddModule(
|
|
||||||
module, wxPoint(origin.x + (self.step * x) + ran_x,
|
|
||||||
origin.y + (self.step * y) + ran_y), x, y)
|
|
||||||
else:
|
|
||||||
self.AddModule(
|
|
||||||
module, wxPoint(origin.x + (self.step * x) + ran_x,
|
|
||||||
origin.y + (self.step * y) + ran_y), x, y)
|
origin.y + (self.step * y) + ran_y), x, y)
|
||||||
|
else:
|
||||||
|
if (x % 2):
|
||||||
|
self.AddVia(
|
||||||
|
wxPoint(origin.x + (self.step * x) + ran_x,
|
||||||
|
origin.y + (self.step * y) + ran_y), x, y)
|
||||||
|
else:
|
||||||
|
self.AddVia(
|
||||||
|
wxPoint(origin.x + (self.step * x) + ran_x,
|
||||||
|
origin.y + (self.step * y) + ran_y), x, y)
|
||||||
|
|
||||||
self.RefillBoardAreas()
|
self.RefillBoardAreas()
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
## Python code generated with wxFormBuilder (version Feb 16 2016)
|
## Python code generated with wxFormBuilder (version Dec 21 2016)
|
||||||
## http://www.wxformbuilder.org/
|
## http://www.wxformbuilder.org/
|
||||||
##
|
##
|
||||||
## PLEASE DO "NOT" EDIT THIS FILE!
|
## PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
@ -130,3 +130,5 @@ class FillAreaDialog ( wx.Dialog ):
|
|||||||
# Virtual event handlers, overide them in your derived class
|
# Virtual event handlers, overide them in your derived class
|
||||||
def onDeleteClick( self, event ):
|
def onDeleteClick( self, event ):
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1321,6 +1321,177 @@
|
|||||||
<event name="OnUpdateUI"></event>
|
<event name="OnUpdateUI"></event>
|
||||||
</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">Star Pattern</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_staticText42</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>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">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_Star</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>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnCheckBox"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="sizeritem" expanded="0">
|
<object class="sizeritem" expanded="0">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxALL</property>
|
||||||
|
Reference in New Issue
Block a user