From 770b3dc02f243a9eaf22b994795308df1fc13958 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Fri, 5 May 2017 11:24:08 +0200 Subject: [PATCH] Add .dHole() --- boxes/__init__.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/boxes/__init__.py b/boxes/__init__.py index 6761be2..173eff3 100755 --- a/boxes/__init__.py +++ b/boxes/__init__.py @@ -956,6 +956,26 @@ class Boxes: self.corner(-90, r) self.edge(d - 2 * r) + @restore + @holeCol + def dHole(self, x, y, r=None, d=None, w=None, rel_w=0.75, angle=0): + if r is None: + r = d / 2.0 + if w is None: + w = 2.0 * r * rel_w + w -= r + if r < 0.0: + return + if abs(w) > r: + return self.hole(x, y, r) + + a = math.degrees(math.acos(w / r)) + self.moveTo(x, y, angle-a) + self.moveTo(r-self.burn, 0, -90) + self.corner(-360+2*a, r) + self.corner(-a) + self.edge(2*r*math.sin(math.radians(a))) + @restore def text(self, text, x=0, y=0, angle=0, align=""): """