From 4c9830315d8b543d623319ca256ce2c4e265eb0b Mon Sep 17 00:00:00 2001 From: caleb crome Date: Thu, 26 Jan 2023 17:43:06 -0800 Subject: [PATCH] Add a generic, text based front panel generator This adds a front panel generator that lets you automatically generate all the cutouts and text placements needed in a box. Eventually, it might be great it integrate this kind of feature into the box generators, but that sounds complicated. At this point, I'm happy] to have this. --- boxes/generators/frontpanel.py | 217 ++++++++++++++++++++++++++ boxes/generators/frontpanel_test.json | 4 + static/samples/FrontPanel-thumb.jpg | Bin 0 -> 13796 bytes static/samples/FrontPanel.jpg | Bin 0 -> 99842 bytes static/samples/samples.sha256 | 1 + 5 files changed, 222 insertions(+) create mode 100644 boxes/generators/frontpanel.py create mode 100644 boxes/generators/frontpanel_test.json create mode 100644 static/samples/FrontPanel-thumb.jpg create mode 100644 static/samples/FrontPanel.jpg diff --git a/boxes/generators/frontpanel.py b/boxes/generators/frontpanel.py new file mode 100644 index 0000000..8a80fc8 --- /dev/null +++ b/boxes/generators/frontpanel.py @@ -0,0 +1,217 @@ +#!/usr/bin/env python3 +# Copyright (C) 2013-2017 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 * +import io +import shlex + +def str_to_bool(s): + if (s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']): + return True + else: + return False + +class FrontPanel(Boxes): + """Mounting Holes and cutouts for all your holy needs.""" + + description = f""" + + + + +This will help you create font (and side and top) panels for your +boxes that are pre-configured for all the bits and bobs you'd like to +install + + The layout can create several types of holes including rectangles, + circles and mounting holes. The default shows an example layout with all + currently supported objects. + +#### +`rect x y w h [cr=0] [cx=True] [cy=True]` + + x: x position + y: y position + w: width + h: height + cr: optional, Corner radius, default=0 + cx: optional, Center x. the x position denotes the center of the rectangle. + accepts t, T, 1, or other true-like values. + cy: optional, Center y. the y position denotes the center of the rectangle. + +#### outline +`rect w h` + + w: width + h: height + +`outline` has a special meaning: You can create multiple panel outlines with one command. +This has the effect of making it easy to manage all the holes on all the sides of +your boxes. + +#### circle +`circle x y r` + + x: x position + y: y position + r: radius + +#### mountinghole +mountinghole x y d_shaft [d_head=0] [angle=0] + + x: x position + y: y position + d_shaft: diameter of the shaft part of the mounting hole + d_head: optional. diameter of the head + angle: optional. angle of the mounting hole + +#### text +`text x y size "some text" [angle=0] [align=bottom|left]` + + x: x position + y: y position + size: size, in mm + text: text to render. This *must* be in quotation marks + angle: angle (in degrees) + align: string with combinations of (top|middle|bottom) and (left|center|right), + separated by '|'. Default is 'bottom|left' + + + +#### nema +`nema x y size [screwhole_size=0]` + + x: x position (center of shaft) + y: y position (center of shaft) + size: nema size. One of [{', '.join([f'{x}' for x in Boxes.nema_sizes])}] + screw: screw size, in mm. Optional. Default=0, which means the default size + + """ + + ui_group = "Holes" + + def __init__(self) -> None: + Boxes.__init__(self) + self.argparser.add_argument( + "--layout", action="store", type=str, + default=""" +outline 100 100 +rect 50 60 80 30 3 True False +text 50 91 7 "Super Front Panel With Buttons!" 0 bottom|center +circle 10 45 3.5 +circle 30 45 3.5 +circle 50 45 3.5 +circle 70 45 3.5 +circle 90 45 3.5 +text 10 40 3 "BTN_1" 0 top|center +text 35 45 3 "BTN_2" 90 top|center +text 50 50 3 "BTN_3" 180 top|center +text 65 45 3 "BTN_4" 270 top|center +text 90 45 3 "5" 0 middle|center +mountinghole 5 85 3 6 90 +mountinghole 95 85 3 6 90 + +# Start another panel, 30x50 +outline 30 50 +rect 15 25 15 15 1 True True +text 15 25 3 "__Fun!" 0 bottom|left +text 15 25 3 "__Fun!" 45 bottom|left +text 15 25 3 "__Fun!" 90 bottom|left +text 15 25 3 "__Fun!" 135 bottom|left +text 15 25 3 "__Fun!" 180 bottom|left +text 15 25 3 "__Fun!" 225 bottom|left +text 15 25 3 "__Fun!" 270 bottom|left + +text 3 10 2 "Another panel, for fun" 0 top|left + + +# Let's create another panel with a nema motor on it +outline 40 40 +nema 20 20 17 +""") + + def applyOffset(self, x, y): + return (x+self.offset[0], y+self.offset[1]) + + def drawRect(self, x, y, w, h, r=0, center_x="True", center_y="True"): + x, y, w, h, r = [float(i) for i in [x, y, w, h, r]] + x, y = self.applyOffset(x, y) + center_x = str_to_bool(center_x) + center_y = str_to_bool(center_y) + self.rectangularHole(x, y, w, h, r, center_x, center_y) + return + + def drawCircle(self, x, y, r): + x, y, r = [float(i) for i in [x, y, r]] + x, y = self.applyOffset(x, y) + self.hole(x, y, r) + return + + def drawMountingHole(self, x, y, d_shaft, d_head=0.0, angle=0): + x, y, d_shaft, d_head, angle = [float(i) for i in [x, y, d_shaft, d_head, angle]] + x, y = self.applyOffset(x, y) + self.mountingHole(x, y, d_shaft, d_head, angle) + return + + def drawOutline(self, w, h): + w, h = [float(i) for i in [w, h]] + if self.outline is not None: + self.offset = self.applyOffset(self.outline[0]+10, 0) + self.outline = (w, h) # store away for next time + x = 0 + y = 0 + x, y = self.applyOffset(x, y) + border = [(x, y), (x+w, y), (x+w, y+h), (x, y+h), (x, y)] + self.showBorderPoly( border ) + return + + def drawText(self, x, y, size, text, angle=0, align='bottom|left'): + x, y, size, angle = [float(i) for i in [x, y, size, angle]] + x, y = self.applyOffset(x, y) + align = align.replace("|", " ") + self.text(text=text, x=x, y=y, fontsize=size, angle=angle, align=align) + + def drawNema(self, x, y, size, screwhole_size=0): + x, y, size, screwhole_size = [float(i) for i in [x, y, size, screwhole_size]] + if size in self.nema_sizes: + x, y = self.applyOffset(x, y) + self.NEMA(size, x, y, screwholes=screwhole_size) + + def parse_layout(self, layout): + f = io.StringIO(layout) + line = 0 + objects = { + 'outline': self.drawOutline, + 'rect': self.drawRect, + 'circle': self.drawCircle, + 'mountinghole': self.drawMountingHole, + 'text': self.drawText, + 'nema': self.drawNema, + } + + for l in f.readlines(): + line += 1 + l = re.sub('#.*$', '', l) # remove comments + l = l.strip() + la = shlex.split(l, comments=True, posix=True) + if len(la) > 0 and la[0].lower() in objects: + objects[la[0]](*la[1:]) + return + + def render(self): + self.offset = (0.0, 0.0) + self.outline = None # No outline yet + self.parse_layout(self.layout) diff --git a/boxes/generators/frontpanel_test.json b/boxes/generators/frontpanel_test.json new file mode 100644 index 0000000..b40683c --- /dev/null +++ b/boxes/generators/frontpanel_test.json @@ -0,0 +1,4 @@ +outline 60 60 +squre 10 20 25 34 +circle 10 20 40 + diff --git a/static/samples/FrontPanel-thumb.jpg b/static/samples/FrontPanel-thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54b362b6b63c2308a0d21f87e4a74fbe355ed6ab GIT binary patch literal 13796 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 KZqYhd@BRZOz~z1b literal 0 HcmV?d00001 diff --git a/static/samples/FrontPanel.jpg b/static/samples/FrontPanel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..322b33c62dcdb3c6bcc3fbfc07c80f0950e2fb80 GIT binary patch literal 99842 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�CYKsZr6nOGlPs28l^T# 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 literal 0 HcmV?d00001 diff --git a/static/samples/samples.sha256 b/static/samples/samples.sha256 index d083c57..81355c6 100644 --- a/static/samples/samples.sha256 +++ b/static/samples/samples.sha256 @@ -116,3 +116,4 @@ a7ee83b42685295fd02db666841984c55af2f9632540c651f5dea42088a3c170 ../static/samp ab47e02fb9736d20b457964aa640f50852ac97bb2857cea753fa4c3067a60d41 ../static/samples/Spool.jpg cfc0782f3a952dd0c6ceb0fb7998050f3bdea135d791fa32b731808371514e63 ../static/samples/GearBox.jpg 75733dfdfd601ace1521bddfea28546ca34d8281acbeb6ec44f15b2b942cb944 ../static/samples/Arcade.jpg +a21471512fd73c15e1d8a11aa3bd4ef807791895855c2f1d30a00bd207d79919 ../static/samples/FrontPanel.jpg