Skip to content

Commit 31dcf01

Browse files
committed
Introduce limit on arc size
1 parent e19408a commit 31dcf01

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

kikit/substrate.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,8 +349,9 @@ def substratesFrom(polygons):
349349
return substrates
350350

351351
class CircleFitCandidates:
352-
def __init__(self, tolerance: int = fromMm(0.01)):
352+
def __init__(self, tolerance: int = fromMm(0.005), radius_limit: int = fromMm(1000)):
353353
self.tolerance = tolerance
354+
self.radius_limit = radius_limit
354355

355356
self._xs = []
356357
self._xSum: float = 0
@@ -392,7 +393,7 @@ def addPoint(self, point: VECTOR2I) -> bool:
392393
else:
393394
toRevalidate = [(np.array([self._xs[-2], self._ys[-2]]), np.array([self._xs[-1], self._ys[-1]]))]
394395

395-
if self._doLinesFitCircle(toRevalidate, newCenter, newRadius):
396+
if self._doLinesFitCircle(toRevalidate, newCenter, newRadius) and newRadius < self.radius_limit:
396397
self.foundCircle = newCenter, newRadius
397398
return True
398399

0 commit comments

Comments
 (0)