From bcee242c878260bd7e7adabe7d573f72c82b9d54 Mon Sep 17 00:00:00 2001 From: Jean-Samuel Reynaud Date: Thu, 29 Mar 2018 18:19:23 +0200 Subject: [PATCH] Fix #3: Via placement doesn't respect single sided keepouts --- ViaStitching/FillArea.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/ViaStitching/FillArea.py b/ViaStitching/FillArea.py index f953789..2b3e55c 100755 --- a/ViaStitching/FillArea.py +++ b/ViaStitching/FillArea.py @@ -274,7 +274,7 @@ class FillArea: for dy in [-offset, offset]: point_to_test = wxPoint(current_x + dx, current_y + dy) - r = area.HitTestFilledArea(point_to_test) + r = area.HitTestInsideZone(point_to_test) t = area.HitTestForEdge(point_to_test) r = r and not t if keepOutMode: @@ -282,18 +282,14 @@ class FillArea: else: testResult &= r + if testResult: if keepOutMode: - testResult |= r + rectangle[x][y] = 0x1 else: - testResult &= r - if testResult: - if keepOutMode: - rectangle[x][y] = 0x1 - else: - # Allow only if it's first step disabling - # ie: keepout are keeped - if rectangle[x][y] == 0x8: - rectangle[x][y] = 0 + # Allow only if it's first step disabling + # ie: keepout are keeped + if rectangle[x][y] == 0x8: + rectangle[x][y] = 0 if self.debug: print("Post Area handling")