From 84ef9d84eebeda8ebafa9e2729a6ff1c9916a43e Mon Sep 17 00:00:00 2001 From: J-Waal Date: Sat, 8 Apr 2023 23:39:41 +0200 Subject: [PATCH] New generator: PirateChest A chest with integrated hinge and angled lid --- boxes/generators/piratechest.py | 134 +++++++++++++++++++++++++++ static/samples/PirateChest-thumb.jpg | Bin 0 -> 3609 bytes static/samples/PirateChest.jpg | Bin 0 -> 47449 bytes static/samples/samples.sha256 | 1 + 4 files changed, 135 insertions(+) create mode 100644 boxes/generators/piratechest.py create mode 100644 static/samples/PirateChest-thumb.jpg create mode 100644 static/samples/PirateChest.jpg diff --git a/boxes/generators/piratechest.py b/boxes/generators/piratechest.py new file mode 100644 index 0000000..8f3363c --- /dev/null +++ b/boxes/generators/piratechest.py @@ -0,0 +1,134 @@ +#!/usr/bin/env python3 +# Copyright (C) 2013-2016 Florian Festi +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from boxes import * + +class PirateChest(Boxes): + """Box with polygon lid with chest hinges.""" + + description = """Do not assemble sides before attaching the lid! + Hinge of the lid has to be placed first because it is impossible + to get it in position without removing the side wall. The lid can + be a bit tricky to assemble. Keep track of how the parts fit together. + Part with label "lid back" is placed in the hinges""" + + ui_group = "Box" + + def __init__(self) -> None: + Boxes.__init__(self) + self.addSettingsArgs(edges.FingerJointSettings, finger=1.0,space=1.0) + self.addSettingsArgs(edges.HingeSettings) + + self.buildArgParser("x", "y", "h", "outside") + self.argparser.add_argument( + "--n", action="store", type=int, default=5, + help="number of sides on the lid. n ≥ 3") + + + def render(self): + # adjust to the variables you want in the local scope + x, y, h = self.x, self.y, self.h + if self.outside: + x = self.adjustSize(x) + y = self.adjustSize(y) + h = self.adjustSize(h, "f", False) + t = self.thickness + n = self.n + + if (n < 3): + raise ValueError("number of sides on the lid must be greater or equal to 3 (got %i)" % n) + + hy = self.edges["O"].startwidth() + h -= hy + if (h < 0): + raise ValueError("box to low to allow for hinge (%i)" % h) + + # create edge for non 90 degree joints in the lid + fingerJointSettings = copy.deepcopy(self.edges["f"].settings) + fingerJointSettings.setValues(self.thickness, angle=180./(n-1)) + fingerJointSettings.edgeObjects(self, chars="gGH") + + # render all parts + self.ctx.save() + + self.rectangularWall(x, y, "FFFF", move="up", label="Bottom") + frontlid, toplids, backlid = self.topside(y, n = n, move="only", bottem='P') + + self.rectangularWall(x, backlid, "qFgF", move="up", label="lid back") + for _ in range(n-2): + self.rectangularWall(x, toplids, "GFgF", move="up", label="lid top") + self.rectangularWall(x, frontlid, "GFeF", move="up", label="lid front") + + self.ctx.restore() + self.rectangularWall(x, y, "FFFF", move="right only") + + with self.saved_context(): + self.rectangularWall(x, h, "fFQF", ignore_widths=[2, 5], move="right", label="front") + self.rectangularWall(y, h, "ffof", ignore_widths=[5], move="right", label="right") + self.rectangularWall(0, h, "eeep", move="right only") + self.rectangularWall(x, h, "fFoF", move="up only") + self.rectangularWall(x, 0, "Peee", move="up only") + + e1 = edges.CompoundEdge(self, "Fe", (h, hy)) + e2 = edges.CompoundEdge(self, "eF", (hy, h)) + e_back = ("f", e1, "e", e2) + + with self.saved_context(): + self.rectangularWall(x, h+hy, e_back, move="right", label="back") # extend back to correct height + self.rectangularWall(0, h, "ePee", move="right only") + self.rectangularWall(y, h, "ffOf", ignore_widths=[2], move="right", label="left") + self.rectangularWall(x, h, "fFOF", move="up only") + self.rectangularWall(x, 0, "peee", move="up only") + + self.topside(y, n = n, move="right", bottem='p', label="lid left") + self.topside(y, n = n, move="right", bottem='P', label="lid right") + + + def topside(self, y, n, bottem, move=None, label=""): + radius, hp, side = self.regularPolygon((n - 1) * 2, h=y/2.0) + + tx = y + 2 * self.edges.get('f').spacing() + lidheight = hp if n % 2 else radius + ty = lidheight + self.edges.get('f').spacing() + self.edges.get(bottem).spacing() + + if self.move(tx, ty, move, before=True): + return side/2 + self.edges.get(bottem).spacing(), side, side/2 + + self.moveTo(self.edges.get('f').margin(), self.edges.get(bottem).margin()) + + self.edges.get(bottem)(y) + + self.corner(90) + if bottem == 'p': + self.edges.get('f')(side/2 + self.edges.get(bottem).spacing()) + else: + self.edges.get('f')(side/2) + + self.corner(180 / (n - 1)) + for _ in range(n-2): + self.edges.get('f')(side) + self.corner(180 / (n - 1)) + + if bottem == 'P': + self.edges.get('f')(side/2 + self.edges.get(bottem).spacing()) + else: + self.edges.get('f')(side/2) + + self.corner(90) + + self.move(tx, ty, move, label=label) + + return side/2 + self.edges.get(bottem).spacing(), side, side/2 diff --git a/static/samples/PirateChest-thumb.jpg b/static/samples/PirateChest-thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40248cb4db3a9833a076747a89c9beaba5116c93 GIT binary patch literal 3609 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 literal 0 HcmV?d00001 diff --git a/static/samples/PirateChest.jpg b/static/samples/PirateChest.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fb0879b3104f5c2fc3e503e7586ec97fcc3901a9 GIT binary patch literal 47449 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%0D#04`>s5X$pnRcDiaoE^d%p)j^&rYr9M< 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 literal 0 HcmV?d00001 diff --git a/static/samples/samples.sha256 b/static/samples/samples.sha256 index 8a9dc7e..87484d7 100644 --- a/static/samples/samples.sha256 +++ b/static/samples/samples.sha256 @@ -139,3 +139,4 @@ e9ee43e336401d3a0cb8e141c3a0b87a84e90f99eed30bdd420dcaead92940e1 ../static/samp 3070eb2ed89461497d4dcc67021a0619338ab6d4d4d89d3cd1f83160da3c7920 ../static/samples/FanHole.jpg c8adb0661956430ccec7fc00aa4b8e3c42d02083e17a9307541bc0160251cb96 ../static/samples/HolePattern.jpg 7c399c1cd235c3c044f676a31aa5215109e815055f2f69aef5d0cb1a24dfae41 ../static/samples/Desksign.jpg +fda14ba0920ef7ea0579117a30b5bb4a05ab3be4da3d87a4fc03fc40b085992b ../static/samples/PirateChest.jpg