Add .dHole()
This commit is contained in:
parent
d7aadc9b72
commit
770b3dc02f
|
@ -956,6 +956,26 @@ class Boxes:
|
||||||
self.corner(-90, r)
|
self.corner(-90, r)
|
||||||
self.edge(d - 2 * 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
|
@restore
|
||||||
def text(self, text, x=0, y=0, angle=0, align=""):
|
def text(self, text, x=0, y=0, angle=0, align=""):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue