minor fix for kicad nightly

To be fixed: nightly is missing 'HitTestInsideZone' function for checking keepout zones inside zones
This commit is contained in:
easyw
2019-09-27 14:56:26 +02:00
parent cc2f35eba2
commit 61ee61c96d

View File

@ -267,8 +267,12 @@ STEP = '-'
hit_test_area = area.HitTestFilledArea(point_to_test) # Collides with a filled area hit_test_area = area.HitTestFilledArea(point_to_test) # Collides with a filled area
hit_test_edge = area.HitTestForEdge(point_to_test,1) # Collides with an edge/corner hit_test_edge = area.HitTestForEdge(point_to_test,1) # Collides with an edge/corner
try:
hit_test_zone = area.HitTestInsideZone(point_to_test) # Is inside a zone (e.g. KeepOut) hit_test_zone = area.HitTestInsideZone(point_to_test) # Is inside a zone (e.g. KeepOut)
except:
hit_test_zone = False
wxPrint('exception: missing HitTestInsideZone: To Be Fixed')
#hit_test_zone = area.HitTest(point_to_test) # Is inside a zone (e.g. KeepOut) kicad nightly 5.99
if is_keepout_area and (hit_test_area or hit_test_edge or hit_test_zone): if is_keepout_area and (hit_test_area or hit_test_edge or hit_test_zone):
return self.REASON_KEEPOUT # Collides with keepout return self.REASON_KEEPOUT # Collides with keepout
@ -359,8 +363,8 @@ STEP = '-'
try: try:
all_drawings = filter(lambda x: x.GetClass() == 'PTEXT' and self.pcb.GetLayerID(x.GetLayerName()) in (F_Cu, B_Cu), self.pcb.DrawingsList()) all_drawings = filter(lambda x: x.GetClass() == 'PTEXT' and self.pcb.GetLayerID(x.GetLayerName()) in (F_Cu, B_Cu), self.pcb.DrawingsList())
except: except:
all_drawings = [] all_drawings = filter(lambda x: x.GetClass() == 'PTEXT' and self.pcb.GetLayerID(x.GetLayerName()) in (F_Cu, B_Cu), self.pcb.Drawings())
wxPrint("exception on missing BOARD.DrawingsList") #wxPrint("exception on missing BOARD.DrawingsList")
all_areas = [self.pcb.GetArea(i) for i in xrange(self.pcb.GetAreaCount())] all_areas = [self.pcb.GetArea(i) for i in xrange(self.pcb.GetAreaCount())]
#target_areas = filter(lambda x: (x.GetNetname().upper() == self.netname), all_areas) # KeepOuts are filtered because they have no name #target_areas = filter(lambda x: (x.GetNetname().upper() == self.netname), all_areas) # KeepOuts are filtered because they have no name
target_areas = filter(lambda x: (x.GetNetname() == self.netname), all_areas) # KeepOuts are filtered because they have no name target_areas = filter(lambda x: (x.GetNetname() == self.netname), all_areas) # KeepOuts are filtered because they have no name