From aba9631b0099b582dacdc041759a265a25da98ee Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Sat, 14 Dec 2019 14:18:38 +0100 Subject: [PATCH] Make joints of box sides go to the very bottom for NotesHolder, TypeTray and UniversalBox. The same should be done to many other boxes as soon as they get the bottom_edge parameter Resolves: #111 --- boxes/generators/notesholder.py | 19 ++++++++++++------- boxes/generators/typetray.py | 12 ++++++++---- boxes/generators/universalbox.py | 5 +++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/boxes/generators/notesholder.py b/boxes/generators/notesholder.py index 5bfb72e..7363a69 100644 --- a/boxes/generators/notesholder.py +++ b/boxes/generators/notesholder.py @@ -81,18 +81,23 @@ class NotesHolder(Boxes): b2 = b with self.saved_context(): - self.rectangularWall(y, h, [b, "F", "e", "F"], move="right") + self.rectangularWall(y, h, [b, "F", "e", "F"], + ignore_widths=[1, 6], move="right") if self.opening == 0.0: - self.rectangularWall(x, h, [b, "f", "e", "f"], move="right") + self.rectangularWall(x, h, [b, "f", "e", "f"], + ignore_widths=[1, 6], move="right") else: - self.rectangularWall(sides, h, [b2, "e", "e", "f"], move="right") - self.rectangularWall(sides, h, [b2, "e", "e", "f"], move="right mirror") + self.rectangularWall(sides, h, [b2, "e", "e", "f"], + ignore_widths=[1, 6], move="right") + self.rectangularWall(sides, h, [b2, "e", "e", "f"], + ignore_widths=[1, 6], move="right mirror") - self.rectangularWall(x, h, [b, "F", "e", "F"], move="up only") + self.rectangularWall(x, h, [b, "F", "e", "F"], + ignore_widths=[1, 6], move="up only") with self.saved_context(): - self.rectangularWall(y, h, [b, "F", "e", "F"], move="right") - self.rectangularWall(x, h, [b, "f", "e", "f"], move="right") + self.rectangularWall(y, h, [b, "F", "e", "F"], ignore_widths=[1, 6], move="right") + self.rectangularWall(x, h, [b, "f", "e", "f"], ignore_widths=[1, 6], move="right") self.rectangularWall(y, h, [b, "F", "e", "F"], move="up only") if self.bottom_edge != "e": diff --git a/boxes/generators/typetray.py b/boxes/generators/typetray.py index 36f254f..8b857e5 100644 --- a/boxes/generators/typetray.py +++ b/boxes/generators/typetray.py @@ -99,8 +99,10 @@ class TypeTray(_TopEdge): self.ctx.save() # outer walls - self.rectangularWall(x, h, [b, "F", t1, "F"], callback=[self.xHoles, None, self.gripHole], move="up") - self.rectangularWall(x, h, [b, "F", t3, "F"], callback=[self.mirrorX(self.xHoles, x), ], move="up") + self.rectangularWall(x, h, [b, "F", t1, "F"], callback=[self.xHoles, None, self.gripHole], + ignore_widths=[1, 6], move="up") + self.rectangularWall(x, h, [b, "F", t3, "F"], callback=[self.mirrorX(self.xHoles, x), ], + ignore_widths=[1, 6], move="up") # floor if b != "e": @@ -134,8 +136,10 @@ class TypeTray(_TopEdge): # y walls # outer walls - self.rectangularWall(y, h, [b, "f", t2, "f"], callback=[self.yHoles, ], move="up") - self.rectangularWall(y, h, [b, "f", t4, "f"], callback=[self.mirrorX(self.yHoles, y), ], move="up") + self.rectangularWall(y, h, [b, "f", t2, "f"], callback=[self.yHoles, ], + ignore_widths=[1, 6], move="up") + self.rectangularWall(y, h, [b, "f", t4, "f"], callback=[self.mirrorX(self.yHoles, y), ], + ignore_widths=[1, 6], move="up") # inner walls for i in range(len(self.sx) - 1): diff --git a/boxes/generators/universalbox.py b/boxes/generators/universalbox.py index 2964300..c8b3aa3 100644 --- a/boxes/generators/universalbox.py +++ b/boxes/generators/universalbox.py @@ -68,8 +68,10 @@ class UniversalBox(_TopEdge, _ChestLid): with self.saved_context(): self.rectangularWall(x, h, [b, "F", t1, "F"], + ignore_widths=[1, 6], bedBolts=[d2], move="up") self.rectangularWall(x, h, [b, "F", t3, "F"], + ignore_widths=[1, 6], bedBolts=[d2], move="up") if self.bottom_edge != "e": @@ -83,10 +85,13 @@ class UniversalBox(_TopEdge, _ChestLid): self.drawAddOnLid(x, y, self.lid) self.rectangularWall(x, h, [b, "F", t3, "F"], + ignore_widths=[1, 6], bedBolts=[d2], move="right only") self.rectangularWall(y, h, [b, "f", t2, "f"], + ignore_widths=[1, 6], bedBolts=[d3], move="up") self.rectangularWall(y, h, [b, "f", t4, "f"], + ignore_widths=[1, 6], bedBolts=[d3], move="up")