From a364f603a83df993554faf7f0dd02b74776face4 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Sun, 16 Jan 2022 15:18:11 +0100 Subject: [PATCH] Add extra_length to Finger Joint Settings to allow extending the finger joints so burn marks can be ground off. Thanks to all who have been pushing for this feature! Resolves: #270 --- boxes/edges.py | 16 ++++++++++------ documentation/src/usermanual.rst | 3 +++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/boxes/edges.py b/boxes/edges.py index 751c8b8..656a308 100644 --- a/boxes/edges.py +++ b/boxes/edges.py @@ -680,7 +680,7 @@ Values: * width : 1.0 : width of finger holes (multiples of thickness) * edge_width : 1.0 : space below holes of FingerHoleEdge (multiples of thickness) * play : 0.0 : extra space to allow finger move in and out (multiples of thickness) - + * extra_length : 0.0 : extra material to grind away burn marks (multiples of thickness) """ absolute_params = { @@ -695,6 +695,7 @@ Values: "width": 1.0, "edge_width": 1.0, "play" : 0.0, + "extra_length" : 0.0, } def checkValues(self): @@ -727,18 +728,21 @@ class FingerJointBase: return fingers, leftover def fingerLength(self, angle): - if angle >=90: - return self.settings.thickness, 0 + # sharp corners + if angle >=90 or angle <= -90: + return self.settings.thickness + self.settings.extra_length, 0 + # inner blunt corners if angle < 0: - return math.sin(math.radians(-angle)) * self.settings.thickness, 0 + return (math.sin(math.radians(-angle)) * self.settings.thickness + + self.settings.extra_length), 0 - # 0 to 90 + # 0 to 90 (blunt corners) a = 90 - (180-angle) / 2.0 fingerlength = self.settings.thickness * math.tan(math.radians(a)) b = 90-2*a spacerecess = -math.sin(math.radians(b)) * fingerlength - return fingerlength, spacerecess + return fingerlength + self.settings.extra_length, spacerecess class FingerJointEdge(BaseEdge, FingerJointBase): """Finger joint edge """ diff --git a/documentation/src/usermanual.rst b/documentation/src/usermanual.rst index 2d2ddec..541c56b 100644 --- a/documentation/src/usermanual.rst +++ b/documentation/src/usermanual.rst @@ -186,6 +186,9 @@ Finger Joint Settings style how finger joints should look like. There may be more styles to choose from in the future. + extra_length + Make the outset part of the finger joint longer to allow grinding off burn marks. Note that this may not be great for non 90° joints where the corner is butted against the opposing cutout. + Stackable Edge Settings .......................