diff --git a/.github/workflows/typing.yml b/.github/workflows/typing.yml index 7290c1cd8..e92850f57 100644 --- a/.github/workflows/typing.yml +++ b/.github/workflows/typing.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ '3.8', '3.9', '3.10', '3.11' ] + python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ] steps: - uses: actions/checkout@v4 diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 0c3d382c7..e5b46653f 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -71,12 +71,11 @@ Adding new Dependencies ....................... Adding new dependencies should be considered thoroughly. If a new -depencendcy is added it needs to be added in all these places: +dependency is added it needs to be added in all these places: * *documentation/src/install.rst* * RST files in *documentation/src/install/* * *scripts/Dockerfile* -* *.travis.yml* If it is a Python module it also needs to be added: * *requirements.txt* @@ -96,8 +95,8 @@ To check your changes docs need to be build with *make html* in *documentation/build/html*. You need to have *sphinx* installed for this to work. -The online documentation gets build and updated automatically by the Travis CI -as soon as the changes makes it into the GitHub master branch. +The online documentation gets build and updated automatically by the Github Actions +as soon as the changes makes it into the GitHub *master* branch. Provide photos for generators ----------------------------- @@ -142,7 +141,7 @@ perfect. We can work on it together. Running the Code ---------------------------- -To serve website, run `scripts/boxesserver` script +To serve website, run :code:`scripts/boxesserver` script. Reporting bugs -------------- diff --git a/boxes/__init__.py b/boxes/__init__.py index 1aecce2c8..f5bdf7bd8 100755 --- a/boxes/__init__.py +++ b/boxes/__init__.py @@ -2394,7 +2394,7 @@ def rectangularWall(self, x, y, edges="eeee", :param bedBoltSettings: (Default value = None) :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") """ if len(edges) != 4: raise ValueError("four edges required") @@ -2448,7 +2448,7 @@ def flangedWall(self, x, y, edges="FFFF", flanges=None, r=0.0, :param r: radius of the corners of the flange :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") """ t = self.thickness @@ -2508,7 +2508,7 @@ def rectangularTriangle(self, x, y, edges="eee", r=0.0, num=1, :param bedBoltSettings: (Default value = None) :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") """ edges = [self.edges.get(e, e) for e in edges] if len(edges) == 2: @@ -2578,7 +2578,7 @@ def trapezoidWall(self, w, h0, h1, edges="eeee", :param edges: (Default value = "eee") bottom, right, left :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") """ edges = [self.edges.get(e, e) for e in edges] @@ -2623,7 +2623,7 @@ def trapezoidSideWall(self, w, h0, h1, edges="eeee", :param radius: (Default value = 0.0) radius of upper corners :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") """ edges = [self.edges.get(e, e) for e in edges] @@ -2793,7 +2793,7 @@ def polygonWall(self, borders, edge="f", turtle=False, :param correct_corners: (Default value = True) :param callback: (Default value = None) :param move: (Default value = None) - :param label: rendered to identify parts, it is not ment to be cut or etched (Default value = "") + :param label: rendered to identify parts, it is not meant to be cut or etched (Default value = "") borders is alternating between length of the edge and angle of the corner. For now neither tabs nor radii are supported. None at the end closes the polygon. """ diff --git a/boxes/drawing.py b/boxes/drawing.py index edf351802..1a8cb5992 100644 --- a/boxes/drawing.py +++ b/boxes/drawing.py @@ -847,8 +847,8 @@ def finish(self, inner_corners="loop"): path.faster_edges(inner_corners) num = 0 cnt = 1 - ende = len(path.path)-1 - if self.dbg: + end = len(path.path) - 1 + if self.dbg: for c in path.path: print ("6",num, c) num += 1 @@ -856,9 +856,11 @@ def finish(self, inner_corners="loop"): c = path.path[num] C, x, y = c[0:3] - if self.dbg: print("ende:" ,ende) - while num < ende or (C == "T" and num <= ende): #len(path.path): - if self.dbg: print ("0", num) + if self.dbg: + print("end:", end) + while num < end or (C == "T" and num <= end): # len(path.path): + if self.dbg: + print("0", num) c = path.path[num] if self.dbg: print("first: ", num, c) @@ -879,7 +881,7 @@ def finish(self, inner_corners="loop"): # do something with M done = False bspline = False - while done == False and num < ende: #len(path.path): + while done == False and num < end: # len(path.path): num += 1 c = path.path[num] if self.dbg: print ("next: ",num, c) diff --git a/boxes/edges.py b/boxes/edges.py index db83331db..04fdbb58d 100644 --- a/boxes/edges.py +++ b/boxes/edges.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/formats.py b/boxes/formats.py index 16adb0b0a..4dd4f8daf 100644 --- a/boxes/formats.py +++ b/boxes/formats.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/gears.py b/boxes/gears.py index 1b1e6e392..3761601e4 100644 --- a/boxes/gears.py +++ b/boxes/gears.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2007 Aaron Spike (aaron @ ekips.org) # Copyright (C) 2007 Tavmjong Bah (tavmjong @ free.fr) # Copyright (C) https://cnc-club.ru/forum/viewtopic.php?f=33&t=434&p=2594#p2500 diff --git a/boxes/generators/_swtemplate.py b/boxes/generators/_swtemplate.py index df42c2653..7697c02e1 100644 --- a/boxes/generators/_swtemplate.py +++ b/boxes/generators/_swtemplate.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/_template.py b/boxes/generators/_template.py index 0fe7dfdc1..08690f6ae 100644 --- a/boxes/generators/_template.py +++ b/boxes/generators/_template.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/abox.py b/boxes/generators/abox.py index dbcb9a112..19c2ded6f 100644 --- a/boxes/generators/abox.py +++ b/boxes/generators/abox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/agricolainsert.py b/boxes/generators/agricolainsert.py index a9fec0a66..b8ac97464 100644 --- a/boxes/generators/agricolainsert.py +++ b/boxes/generators/agricolainsert.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2020 Guillaume Collic # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/alledges.py b/boxes/generators/alledges.py index de8885014..ea7924357 100644 --- a/boxes/generators/alledges.py +++ b/boxes/generators/alledges.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/angledbox.py b/boxes/generators/angledbox.py index 79e354337..68a54b03c 100644 --- a/boxes/generators/angledbox.py +++ b/boxes/generators/angledbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/angledcutjig.py b/boxes/generators/angledcutjig.py index 5082f720a..820453440 100644 --- a/boxes/generators/angledcutjig.py +++ b/boxes/generators/angledcutjig.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/arcade.py b/boxes/generators/arcade.py index 59b433a63..390f58fc7 100644 --- a/boxes/generators/arcade.py +++ b/boxes/generators/arcade.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/basedbox.py b/boxes/generators/basedbox.py index fe55697de..062f61223 100644 --- a/boxes/generators/basedbox.py +++ b/boxes/generators/basedbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/bayonetbox.py b/boxes/generators/bayonetbox.py index 28e96cbf7..959072c0f 100644 --- a/boxes/generators/bayonetbox.py +++ b/boxes/generators/bayonetbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/bintray.py b/boxes/generators/bintray.py index 8fdd23657..f0dd35f18 100644 --- a/boxes/generators/bintray.py +++ b/boxes/generators/bintray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -54,8 +53,8 @@ def __init__(self) -> None: self.addSettingsArgs(edges.FingerJointSettings, surroundingspaces=0.5) self.argparser.add_argument( "--front", action="store", type=float, default=0.4, - help="fraction of bin height covert with slope") - + help="fraction of bin height covered with slope") + def xSlots(self): posx = -0.5 * self.thickness for x in self.sx[:-1]: diff --git a/boxes/generators/birdhouse.py b/boxes/generators/birdhouse.py index 9514f3312..574068962 100644 --- a/boxes/generators/birdhouse.py +++ b/boxes/generators/birdhouse.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2022 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/bottlestack.py b/boxes/generators/bottlestack.py index 9e9968c53..7bb1047e8 100644 --- a/boxes/generators/bottlestack.py +++ b/boxes/generators/bottlestack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2020 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -49,7 +48,7 @@ def front(self, h_sides, offset=0, move=None): a = 60 nr = self.number r1 = self.diameter / 2.0 # bottle - r2 = r1 / math.cos(math.radians(90-a)) - r1 # inbetween + r2 = r1 / math.cos(math.radians(90-a)) - r1 # in between if self.double: r3 = 1.5*t # upper corners else: diff --git a/boxes/generators/bottletag.py b/boxes/generators/bottletag.py index e5eed8f91..e8ab2c2dd 100644 --- a/boxes/generators/bottletag.py +++ b/boxes/generators/bottletag.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/breadbox.py b/boxes/generators/breadbox.py index 4a0c42bfa..40ba35cb7 100644 --- a/boxes/generators/breadbox.py +++ b/boxes/generators/breadbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2022 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/burntest.py b/boxes/generators/burntest.py index c1476aa54..539dd815d 100644 --- a/boxes/generators/burntest.py +++ b/boxes/generators/burntest.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/can_storage.py b/boxes/generators/can_storage.py index 9fc4f5861..28e771956 100644 --- a/boxes/generators/can_storage.py +++ b/boxes/generators/can_storage.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/carbonfilter.py b/boxes/generators/carbonfilter.py index eb2fe7206..5d7599ed7 100644 --- a/boxes/generators/carbonfilter.py +++ b/boxes/generators/carbonfilter.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2023 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -232,7 +231,7 @@ def render(self): self.rectangularWall( y, w, "efef", callback=[self.bottomCB, None, self.bottomCB], - label="botton plate", move="up") + label="bottom plate", move="up") self.innerRibs(self.pockets * self.ribs * 2, move="up") self.outerRibs(self.pockets * self.ribs * 2, self.ribs * 2, move="up") diff --git a/boxes/generators/cardbox.py b/boxes/generators/cardbox.py index 9aba721e4..17ab99d0d 100644 --- a/boxes/generators/cardbox.py +++ b/boxes/generators/cardbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # Copyright (C) 2018 jens persson # Copyright (C) 2023 Manuel Lohoff @@ -66,7 +65,7 @@ class CardBox(Boxes): description = """ ### Description -Versatile Box for Storage of playing cards. Multiple different styles of storage are supportet, e.g. a flat storage or a trading card deck box style storage. See images for ideas. +Versatile Box for Storage of playing cards. Multiple different styles of storage are supported, e.g. a flat storage or a trading card deck box style storage. See images for ideas. #### Building instructions Place inner walls on floor first (if any). Then add the outer walls. Glue the two walls without finger joins to the inside of the side walls. Make sure there is no squeeze out on top, as this is going to form the rail for the lid. diff --git a/boxes/generators/cardholder.py b/boxes/generators/cardholder.py index e2521984e..bcefe39b1 100644 --- a/boxes/generators/cardholder.py +++ b/boxes/generators/cardholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2021 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/castle.py b/boxes/generators/castle.py index 2f583a70c..52f0c6def 100644 --- a/boxes/generators/castle.py +++ b/boxes/generators/castle.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/closedbox.py b/boxes/generators/closedbox.py index 5487ae44f..49c857441 100644 --- a/boxes/generators/closedbox.py +++ b/boxes/generators/closedbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/coffeecapsulesholder.py b/boxes/generators/coffeecapsulesholder.py index 5e26c2b78..b9b5617ea 100644 --- a/boxes/generators/coffeecapsulesholder.py +++ b/boxes/generators/coffeecapsulesholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2021 Guillaume Collic # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/coindisplay.py b/boxes/generators/coindisplay.py index e878ecb38..d4da26a9b 100644 --- a/boxes/generators/coindisplay.py +++ b/boxes/generators/coindisplay.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/concaveknob.py b/boxes/generators/concaveknob.py index 7d026c3d2..ca4bf8ca2 100644 --- a/boxes/generators/concaveknob.py +++ b/boxes/generators/concaveknob.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/console.py b/boxes/generators/console.py index bc8b63ed2..61c1acb96 100644 --- a/boxes/generators/console.py +++ b/boxes/generators/console.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/console2.py b/boxes/generators/console2.py index bd2ac7a8f..48f465775 100644 --- a/boxes/generators/console2.py +++ b/boxes/generators/console2.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2020 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/desksign.py b/boxes/generators/desksign.py index f906c737a..141992c44 100644 --- a/boxes/generators/desksign.py +++ b/boxes/generators/desksign.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -17,9 +16,9 @@ from boxes import * class Desksign(Boxes): - """Simple diagonal plate with stands to show name or mesage""" + """Simple diagonal plate with stands to show name or message.""" - description = """Text to be engraved can be genarated by inputing the label and fontsize fields. + description = """Text to be engraved can be generated by inputting the label and fontsize fields. height represents the area that can be used for writing text, does not match the actual height when standing. Generated text is put in the center. Currently only a single line of text is supported.""" diff --git a/boxes/generators/dicebox.py b/boxes/generators/dicebox.py index 2b0a30f17..e646011dc 100644 --- a/boxes/generators/dicebox.py +++ b/boxes/generators/dicebox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2022 Erik Snider (SniderThanYou@gmail.com) # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/dinrailbox.py b/boxes/generators/dinrailbox.py index 6187ea90d..3b821cd53 100644 --- a/boxes/generators/dinrailbox.py +++ b/boxes/generators/dinrailbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2020 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/discrack.py b/boxes/generators/discrack.py index 57f7d84c5..e7d6206ba 100644 --- a/boxes/generators/discrack.py +++ b/boxes/generators/discrack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2019 chrysn # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/dispenser.py b/boxes/generators/dispenser.py index f74b7bce7..978db6814 100644 --- a/boxes/generators/dispenser.py +++ b/boxes/generators/dispenser.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/display.py b/boxes/generators/display.py index f52413d98..d8bd8a9c3 100644 --- a/boxes/generators/display.py +++ b/boxes/generators/display.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/displaycase.py b/boxes/generators/displaycase.py index 882e1b23b..abd73c2b9 100644 --- a/boxes/generators/displaycase.py +++ b/boxes/generators/displaycase.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # Copyright (C) 2018 Alexander Bulimov # diff --git a/boxes/generators/displayshelf.py b/boxes/generators/displayshelf.py index 83a96bbf3..5a9eebaee 100644 --- a/boxes/generators/displayshelf.py +++ b/boxes/generators/displayshelf.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/dividertray.py b/boxes/generators/dividertray.py index f9e29c82b..b685713b0 100644 --- a/boxes/generators/dividertray.py +++ b/boxes/generators/dividertray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/doubleflexdoorbox.py b/boxes/generators/doubleflexdoorbox.py index 0eb3e153b..0a89d47bc 100644 --- a/boxes/generators/doubleflexdoorbox.py +++ b/boxes/generators/doubleflexdoorbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/drillbox.py b/boxes/generators/drillbox.py index 6cb73c708..f8cbb0878 100644 --- a/boxes/generators/drillbox.py +++ b/boxes/generators/drillbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/drillstand.py b/boxes/generators/drillstand.py index 2f882ecaa..727a0af14 100644 --- a/boxes/generators/drillstand.py +++ b/boxes/generators/drillstand.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -21,7 +20,7 @@ class DrillStand(Boxes): """Box for drills with each compartment of a different height""" - description = """Note: `sh` gives the hight of the rows front to back. It though should have the same number of entries as `sy`. These heights are the one on the left side and increase throughout the row. To have each compartment a bit higher than the previous one the steps in `sh` should be a bit bigger than `extra_height`. + description = """Note: `sh` gives the height of the rows front to back. It though should have the same number of entries as `sy`. These heights are the one on the left side and increase throughout the row. To have each compartment a bit higher than the previous one the steps in `sh` should be a bit bigger than `extra_height`. Assembly: diff --git a/boxes/generators/edges.py b/boxes/generators/edges.py index 04a4a5607..d897c3362 100644 --- a/boxes/generators/edges.py +++ b/boxes/generators/edges.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/electronicsbox.py b/boxes/generators/electronicsbox.py index bdb472141..7a95d17cf 100644 --- a/boxes/generators/electronicsbox.py +++ b/boxes/generators/electronicsbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/eurorackskiff.py b/boxes/generators/eurorackskiff.py index 345ccd235..e0a049c56 100644 --- a/boxes/generators/eurorackskiff.py +++ b/boxes/generators/eurorackskiff.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/fanhole.py b/boxes/generators/fanhole.py index fc6c3364d..6f4df8d41 100644 --- a/boxes/generators/fanhole.py +++ b/boxes/generators/fanhole.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/filamentspool.py b/boxes/generators/filamentspool.py index 108df058d..187a0ee0d 100644 --- a/boxes/generators/filamentspool.py +++ b/boxes/generators/filamentspool.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/filltest.py b/boxes/generators/filltest.py index 23ff2ae34..73b1ba287 100644 --- a/boxes/generators/filltest.py +++ b/boxes/generators/filltest.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flexbox.py b/boxes/generators/flexbox.py index 177eb1021..b8b8fd5a8 100644 --- a/boxes/generators/flexbox.py +++ b/boxes/generators/flexbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flexbox2.py b/boxes/generators/flexbox2.py index d976980cc..05b47b78b 100644 --- a/boxes/generators/flexbox2.py +++ b/boxes/generators/flexbox2.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flexbox3.py b/boxes/generators/flexbox3.py index cc8729f17..ca5528d21 100644 --- a/boxes/generators/flexbox3.py +++ b/boxes/generators/flexbox3.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flexbox4.py b/boxes/generators/flexbox4.py index f92596920..416df0a4b 100644 --- a/boxes/generators/flexbox4.py +++ b/boxes/generators/flexbox4.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flexbox5.py b/boxes/generators/flexbox5.py index b465268b7..9bd005d13 100644 --- a/boxes/generators/flexbox5.py +++ b/boxes/generators/flexbox5.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flextest.py b/boxes/generators/flextest.py index 1fd96c4b6..e866d6ea0 100644 --- a/boxes/generators/flextest.py +++ b/boxes/generators/flextest.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/flextest2.py b/boxes/generators/flextest2.py index 7a6930207..53e425226 100644 --- a/boxes/generators/flextest2.py +++ b/boxes/generators/flextest2.py @@ -1,4 +1,3 @@ -#!/usr/bin/python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/folder.py b/boxes/generators/folder.py index 0a0d09f61..dbea458b9 100644 --- a/boxes/generators/folder.py +++ b/boxes/generators/folder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/frontpanel.py b/boxes/generators/frontpanel.py index f33863419..f8f75adf5 100644 --- a/boxes/generators/frontpanel.py +++ b/boxes/generators/frontpanel.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/gear.py b/boxes/generators/gear.py index c97f9db80..23daaff11 100644 --- a/boxes/generators/gear.py +++ b/boxes/generators/gear.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/gearbox.py b/boxes/generators/gearbox.py index bc3300abd..3aa83b9c3 100644 --- a/boxes/generators/gearbox.py +++ b/boxes/generators/gearbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/gridfinitybase.py b/boxes/generators/gridfinitybase.py index 2f870c663..372cd4765 100644 --- a/boxes/generators/gridfinitybase.py +++ b/boxes/generators/gridfinitybase.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/halfbox.py b/boxes/generators/halfbox.py index 48c79fd24..8e864dcbf 100644 --- a/boxes/generators/halfbox.py +++ b/boxes/generators/halfbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/heart.py b/boxes/generators/heart.py index 6e337c3de..4eb10a1c6 100644 --- a/boxes/generators/heart.py +++ b/boxes/generators/heart.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/hingebox.py b/boxes/generators/hingebox.py index cd4cb5189..bb2b523c5 100644 --- a/boxes/generators/hingebox.py +++ b/boxes/generators/hingebox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/holepattern.py b/boxes/generators/holepattern.py index 61b0e80cc..ff2f638ec 100644 --- a/boxes/generators/holepattern.py +++ b/boxes/generators/holepattern.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2022 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/hooks.py b/boxes/generators/hooks.py index d2e9d3857..874a31736 100644 --- a/boxes/generators/hooks.py +++ b/boxes/generators/hooks.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/integratedhingebox.py b/boxes/generators/integratedhingebox.py index 48d054d02..19c6b8b6a 100644 --- a/boxes/generators/integratedhingebox.py +++ b/boxes/generators/integratedhingebox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/jigsaw.py b/boxes/generators/jigsaw.py index bff301142..1b20fff85 100644 --- a/boxes/generators/jigsaw.py +++ b/boxes/generators/jigsaw.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/jointpanel.py b/boxes/generators/jointpanel.py index 57534c05a..cf4fd83dd 100644 --- a/boxes/generators/jointpanel.py +++ b/boxes/generators/jointpanel.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/keyboard.py b/boxes/generators/keyboard.py index 9486c69e3..a6bc1b61c 100644 --- a/boxes/generators/keyboard.py +++ b/boxes/generators/keyboard.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2021 Guillaume Collic # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/lamp.py b/boxes/generators/lamp.py index d21e91d4e..65a59e9ec 100644 --- a/boxes/generators/lamp.py +++ b/boxes/generators/lamp.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/laptopstand.py b/boxes/generators/laptopstand.py index 18d141489..f9779700e 100644 --- a/boxes/generators/laptopstand.py +++ b/boxes/generators/laptopstand.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/laserclamp.py b/boxes/generators/laserclamp.py index d9f311103..1a6468e51 100644 --- a/boxes/generators/laserclamp.py +++ b/boxes/generators/laserclamp.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/laserholdfast.py b/boxes/generators/laserholdfast.py index 602ea702a..f8ebd305f 100644 --- a/boxes/generators/laserholdfast.py +++ b/boxes/generators/laserholdfast.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/lbeam.py b/boxes/generators/lbeam.py index 62b4c41c2..127182973 100644 --- a/boxes/generators/lbeam.py +++ b/boxes/generators/lbeam.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/magazinefile.py b/boxes/generators/magazinefile.py index 0b2a0664a..5c8fd7100 100644 --- a/boxes/generators/magazinefile.py +++ b/boxes/generators/magazinefile.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/makitapowersupply.py b/boxes/generators/makitapowersupply.py index d0af8982b..71c761571 100644 --- a/boxes/generators/makitapowersupply.py +++ b/boxes/generators/makitapowersupply.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/microrack.py b/boxes/generators/microrack.py index b9ae33143..7a51cec70 100644 --- a/boxes/generators/microrack.py +++ b/boxes/generators/microrack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2019 Gabriel Morell # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/nemamount.py b/boxes/generators/nemamount.py index b4708f987..bbfe91962 100644 --- a/boxes/generators/nemamount.py +++ b/boxes/generators/nemamount.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/nemapattern.py b/boxes/generators/nemapattern.py index 3792510b0..3f8165e0b 100644 --- a/boxes/generators/nemapattern.py +++ b/boxes/generators/nemapattern.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/notesholder.py b/boxes/generators/notesholder.py index baed94948..6c5f9f40e 100644 --- a/boxes/generators/notesholder.py +++ b/boxes/generators/notesholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/openbox.py b/boxes/generators/openbox.py index 888afe2e5..a43ee86b1 100644 --- a/boxes/generators/openbox.py +++ b/boxes/generators/openbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/organpipe.py b/boxes/generators/organpipe.py index 4ca0e19ac..9383582ae 100644 --- a/boxes/generators/organpipe.py +++ b/boxes/generators/organpipe.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # Based on pipecalc by Christian F. Coors diff --git a/boxes/generators/ottobody.py b/boxes/generators/ottobody.py index 18a35c0c2..e7d0d8afb 100644 --- a/boxes/generators/ottobody.py +++ b/boxes/generators/ottobody.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/ottolegs.py b/boxes/generators/ottolegs.py index 165c7931e..caa220415 100644 --- a/boxes/generators/ottolegs.py +++ b/boxes/generators/ottolegs.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/ottosoles.py b/boxes/generators/ottosoles.py index 9a2479da4..b507409c5 100644 --- a/boxes/generators/ottosoles.py +++ b/boxes/generators/ottosoles.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/paintbox.py b/boxes/generators/paintbox.py index f97f9ef1a..ba12fee48 100644 --- a/boxes/generators/paintbox.py +++ b/boxes/generators/paintbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/paperbox.py b/boxes/generators/paperbox.py index 4f78e7f65..a5ea36c74 100644 --- a/boxes/generators/paperbox.py +++ b/boxes/generators/paperbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2020 Guillaume Collic # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/phoneholder.py b/boxes/generators/phoneholder.py index 898d749a3..316022428 100644 --- a/boxes/generators/phoneholder.py +++ b/boxes/generators/phoneholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2021 Guillaume Collic # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/piratechest.py b/boxes/generators/piratechest.py index 8f3363cfe..baeb9e818 100644 --- a/boxes/generators/piratechest.py +++ b/boxes/generators/piratechest.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -65,7 +64,7 @@ def render(self): self.ctx.save() self.rectangularWall(x, y, "FFFF", move="up", label="Bottom") - frontlid, toplids, backlid = self.topside(y, n = n, move="only", bottem='P') + frontlid, toplids, backlid = self.topside(y, n = n, move="only", bottom='P') self.rectangularWall(x, backlid, "qFgF", move="up", label="lid back") for _ in range(n-2): @@ -93,27 +92,27 @@ def render(self): 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") + self.topside(y, n = n, move="right", bottom='p', label="lid left") + self.topside(y, n = n, move="right", bottom='P', label="lid right") - def topside(self, y, n, bottem, move=None, label=""): + def topside(self, y, n, bottom, 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() + ty = lidheight + self.edges.get('f').spacing() + self.edges.get(bottom).spacing() if self.move(tx, ty, move, before=True): - return side/2 + self.edges.get(bottem).spacing(), side, side/2 + return side/2 + self.edges.get(bottom).spacing(), side, side/2 - self.moveTo(self.edges.get('f').margin(), self.edges.get(bottem).margin()) + self.moveTo(self.edges.get('f').margin(), self.edges.get(bottom).margin()) - self.edges.get(bottem)(y) + self.edges.get(bottom)(y) self.corner(90) - if bottem == 'p': - self.edges.get('f')(side/2 + self.edges.get(bottem).spacing()) + if bottom == 'p': + self.edges.get('f')(side/2 + self.edges.get(bottom).spacing()) else: self.edges.get('f')(side/2) @@ -122,8 +121,8 @@ def topside(self, y, n, bottem, move=None, label=""): self.edges.get('f')(side) self.corner(180 / (n - 1)) - if bottem == 'P': - self.edges.get('f')(side/2 + self.edges.get(bottem).spacing()) + if bottom == 'P': + self.edges.get('f')(side/2 + self.edges.get(bottom).spacing()) else: self.edges.get('f')(side/2) @@ -131,4 +130,4 @@ def topside(self, y, n, bottem, move=None, label=""): self.move(tx, ty, move, label=label) - return side/2 + self.edges.get(bottem).spacing(), side, side/2 + return side/2 + self.edges.get(bottom).spacing(), side, side/2 diff --git a/boxes/generators/pizzashovel.py b/boxes/generators/pizzashovel.py new file mode 100644 index 000000000..880a1625e --- /dev/null +++ b/boxes/generators/pizzashovel.py @@ -0,0 +1,100 @@ +#!/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 PizzaShovel(Boxes): + """Pizza shovel with conveyor belt action""" + + description = """ +You need (permanent) baking paper to create the conveyor. With that you can pick up and put down the pizza by moving the handle attached to the belt. + """ + + ui_group = "Misc" + + def __init__(self) -> None: + Boxes.__init__(self) + + self.addSettingsArgs(edges.FingerJointSettings) + self.addSettingsArgs(edges.HandleEdgeSettings, outset=0.0, height=40, hole_width="30:30:30") + self.buildArgParser(x=382, y=400) + self.argparser.add_argument( + "--grip_length", action="store", type=float, default=250.0, + help="Length of the grip. Zero for holes for a screw-in handle") + self.argparser.add_argument( + "--grip_height", action="store", type=float, default=30.0, + help="Height of the grip. Distance between the cross beams.") + self.argparser.add_argument( + "--top_holes", action="store", type=float, default=3.0, + help="Diameter of the screw holes in the bottom of the pusher - where the screws pass through") + self.argparser.add_argument( + "--bottom_holes", action="store", type=float, default=2.0, + help="Diameter of the screw holes in the bottom of the pusher - where the screws hold") + self.argparser.add_argument( + "--grip_holes", action="store", type=float, default=3.0, + help="Diameter of the screw holes for zero griplength") + + def holesCB(self, d): + def cb(): + for i in range(5): + self.hole((self.x-3)/5 * (i+0.5), 20, d=d) + return cb + + def gripCB(self, top): + + def cb(): + t = self.thickness + if self.grip_length: + for d in (-t, +t): + self.fingerHolesAt(self.x/2 + d, 0, 40, 90) + else: + for y in ((10, 30) if top else (15, 35, 60)): + self.hole(self.x/2, y, d=self.grip_holes) + return cb + + def render(self): + x, y, h = self.x, self.y, self.grip_height + grip = self.grip_length + t = self.thickness + + ce = edges.CompoundEdge(self, "fe", [y/2, y/2]) + ec = edges.CompoundEdge(self, "ef", [y/2, y/2]) + + self.rectangularWall(x, y, ["e", ce, "e", ec], move="up") + self.rectangularWall(x, 40, "efef", callback=[self.gripCB(top=True)], move="up") + self.rectangularWall(x, 80, "efef", callback=[self.gripCB(top=False)], move="up") + for i in range(2): + a = math.atan((h+2*t) / (y/2 - 30)) + l = (y/2 - 30) / math.cos(a) + a = math.degrees(a) + self.polygonWall((y/2+40, (90, t), h+2*t, (90, t), 70, a, l, -a, 0, (180, t)), "e", + callback=[lambda: (self.fingerHolesAt(0, 1.5*t, y/2, 0), + self.fingerHolesAt(y/2+t, 1.5*t, 40, 0)), + None, + lambda: self.fingerHolesAt(-t, 1.5*t, 80, 0)], + move="up") + + self.rectangularWall(x-3, 40, "eeee", callback=[self.holesCB(self.bottom_holes)], move="up") + self.rectangularWall(x-3, 40, "yeee", callback=[self.holesCB(self.top_holes)], move="up") + + if grip: + ce1 = edges.CompoundEdge(self, "fe", (40, grip-h/2)) + ce2 = edges.CompoundEdge(self, "ef", (grip-h/2, 40)) + self.flangedWall(40+grip-h/2, h, [ce1, "e", ce2, "e"], flanges=[0, h/2], r=h/2, move="up") + self.flangedWall(40+grip-h/2, h, "eeee", flanges=[0, h/2], r=h/2, move="up") + self.flangedWall(40+grip-h/2, h, [ce1, "e", ce2, "e"], flanges=[0, h/2], r=h/2, move="up") + self.flangedWall(30+grip-h/2, h-2*t, "eeee", flanges=[0, h/2-t], r=h/2-t, move="up") + self.flangedWall(30+grip-h/2, h-2*t, "eeee", flanges=[0, h/2-t], r=h/2-t, move="up") diff --git a/boxes/generators/planetary.py b/boxes/generators/planetary.py index a3b0d2404..edfcb1dd4 100644 --- a/boxes/generators/planetary.py +++ b/boxes/generators/planetary.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/planetary2.py b/boxes/generators/planetary2.py index 05d2eb3fa..54bdd6bb5 100644 --- a/boxes/generators/planetary2.py +++ b/boxes/generators/planetary2.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/platonic.py b/boxes/generators/platonic.py index 8f840670f..7b36566cc 100644 --- a/boxes/generators/platonic.py +++ b/boxes/generators/platonic.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2020 Norbert Szulc # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/polehook.py b/boxes/generators/polehook.py index 719a70ca6..5be0440ae 100644 --- a/boxes/generators/polehook.py +++ b/boxes/generators/polehook.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/pulley.py b/boxes/generators/pulley.py index a5f2b5c0b..fc58dd8a2 100644 --- a/boxes/generators/pulley.py +++ b/boxes/generators/pulley.py @@ -1,4 +1,3 @@ -#!/usr/bin/python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/rack10box.py b/boxes/generators/rack10box.py index 5179f025c..50c0d69e5 100644 --- a/boxes/generators/rack10box.py +++ b/boxes/generators/rack10box.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2018 Sebastian Reichel # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/rack19box.py b/boxes/generators/rack19box.py index aba8ac308..4cc6135bf 100644 --- a/boxes/generators/rack19box.py +++ b/boxes/generators/rack19box.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -77,17 +76,18 @@ def _render(self, type): tr = self.triangle trh = tr / 3. - self.rectangularWall(y, h, "ffef", callback=[self.wallyCB], move="right") - self.rectangularWall(x, h, "fFeF", callback=[self.wallxCB], - move="up") + self.rectangularWall(y, h, "ffef", callback=[self.wallyCB], + move="right", label="right") self.flangedWall(x, h, "FFEF", callback=[self.wallxfCB], r=t, - flanges=[0., 17., -t, 17.]) + flanges=[0., 17., -t, 17.], move="up", label="front") + self.rectangularWall(x, h, "fFeF", callback=[self.wallxCB], + label="back") self.rectangularWall(y, h, "ffef", callback=[self.wallyCB], - move="left up") + move="left up", label="left") - self.rectangularWall(x, y, "fFFF", move="right") + self.rectangularWall(x, y, "fFFF", move="up", label="bottom") self.rectangularWall(x, y, callback=[ - lambda:self.hole(trh, trh, d=d2)] * 4, move='up') + lambda:self.hole(trh, trh, d=d2)] * 4, move='right', label="lid") self.rectangularTriangle(tr, tr, "ffe", num=4, callback=[None, lambda: self.hole(trh, trh, d=d1)]) diff --git a/boxes/generators/rackbox.py b/boxes/generators/rackbox.py index e31f6db61..6093bf001 100644 --- a/boxes/generators/rackbox.py +++ b/boxes/generators/rackbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/rectangularWall.py b/boxes/generators/rectangularWall.py index e74842777..de973538b 100644 --- a/boxes/generators/rectangularWall.py +++ b/boxes/generators/rectangularWall.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/regularbox.py b/boxes/generators/regularbox.py index 4106dcebe..09eaa323c 100644 --- a/boxes/generators/regularbox.py +++ b/boxes/generators/regularbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -78,7 +77,7 @@ def render(self): # length of side edges #l = (((side0-side1)/2)**2 + (sh0-sh1)**2 + h**2)**0.5 l = ((r0-r1)**2 + h**2)**.5 - # angles of sides -90° aka half of top angle of the full pyramide sides + # angles of sides -90° aka half of top angle of the full pyramid sides a = math.degrees(math.asin((side1-side0)/2/l)) # angle between sides (in boxes style change of travel) phi = 180 - 2 * math.degrees( diff --git a/boxes/generators/regularstarbox.py b/boxes/generators/regularstarbox.py index aabbb4db9..3cbfe119a 100644 --- a/boxes/generators/regularstarbox.py +++ b/boxes/generators/regularstarbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/robotarm.py b/boxes/generators/robotarm.py index dc381f329..df4b5c57e 100644 --- a/boxes/generators/robotarm.py +++ b/boxes/generators/robotarm.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/rollholder.py b/boxes/generators/rollholder.py index 8e0d6b997..a850a21b6 100644 --- a/boxes/generators/rollholder.py +++ b/boxes/generators/rollholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/rotary.py b/boxes/generators/rotary.py index 4d28451e8..d659ff9bf 100644 --- a/boxes/generators/rotary.py +++ b/boxes/generators/rotary.py @@ -1,4 +1,3 @@ -#!/usr/bin/python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/roundedbox.py b/boxes/generators/roundedbox.py index a744c5876..aafbd408f 100644 --- a/boxes/generators/roundedbox.py +++ b/boxes/generators/roundedbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/royalgame.py b/boxes/generators/royalgame.py index 3d073250f..ed56abed8 100644 --- a/boxes/generators/royalgame.py +++ b/boxes/generators/royalgame.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/sevensegment.py b/boxes/generators/sevensegment.py index 8ce0436e8..eb8de7bac 100644 --- a/boxes/generators/sevensegment.py +++ b/boxes/generators/sevensegment.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -19,7 +18,7 @@ class SevenSegmentPattern(Boxes): """Holepatterns and walls for a seven segment digit""" - description = """This pattern is indented to be used with a LED stripe that is wound through alls segments in an S pattern while the stripe being upright on its side. It can probably also be used for small pieces of LED stripes connected with short wires for large enough sizes. + description = """This pattern is indented to be used with a LED stripe that is wound through all segments in an S pattern while the stripe being upright on its side. It can probably also be used for small pieces of LED stripes connected with short wires for large enough sizes. Both is currently untested. """ diff --git a/boxes/generators/sevensegmentclock.py b/boxes/generators/sevensegmentclock.py index 3a37a9b45..fdb40284d 100644 --- a/boxes/generators/sevensegmentclock.py +++ b/boxes/generators/sevensegmentclock.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify @@ -20,11 +19,11 @@ class SevenSegmentClock(SevenSegmentPattern): """Seven segment clock build with LED stripe""" - description = """You need a LED stripe that is wound through alls segments in an S pattern and then continuing to the next digit while the stripe being upright on its side. Selecting *debug* gives a better idea how things fit together. + description = """You need a LED stripe that is wound through all segments in an S pattern and then continuing to the next digit while the stripe being upright on its side. Selecting *debug* gives a better idea how things fit together. -Adding a defusor on top or at the bottom of the segment holes will probably enhance the visuals. Just using paper may be enough. +Adding a diffuser on top or at the bottom of the segment holes will probably enhance the visuals. Just using paper may be enough. -There is currently not a lot of space for elecrtonics and this generator is still untested. Good luck! +There is currently not a lot of space for electronics and this generator is still untested. Good luck! """ ui_group = "Misc" diff --git a/boxes/generators/shoe.py b/boxes/generators/shoe.py index 574577162..681d85205 100644 --- a/boxes/generators/shoe.py +++ b/boxes/generators/shoe.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/shutterbox.py b/boxes/generators/shutterbox.py index 87d96b135..efee6caaa 100644 --- a/boxes/generators/shutterbox.py +++ b/boxes/generators/shutterbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/sidedoorhousing.py b/boxes/generators/sidedoorhousing.py index 937c3dbb0..dc9eb5b4f 100644 --- a/boxes/generators/sidedoorhousing.py +++ b/boxes/generators/sidedoorhousing.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2020 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/silverwarebox.py b/boxes/generators/silverwarebox.py index 38b45cf03..4a7d643f7 100644 --- a/boxes/generators/silverwarebox.py +++ b/boxes/generators/silverwarebox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/skadis.py b/boxes/generators/skadis.py new file mode 100644 index 000000000..5080d6255 --- /dev/null +++ b/boxes/generators/skadis.py @@ -0,0 +1,44 @@ +#!/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 SkadisBoard(Boxes): + """Customizable Ikea like pegboard""" + + ui_group = "Misc" + + def __init__(self) -> None: + Boxes.__init__(self) + + self.argparser.add_argument( + "--columns", action="store", type=int, default=17, + help="Number of holes left to right counting both even and odd rows") + self.argparser.add_argument( + "--rows", action="store", type=int, default=27, + help="Number of rows of holes top to bottom") + + + def CB(self): + for r in range(self.rows): + for c in range(self.columns): + if (r+c) % 2 == 0: + continue + self.rectangularHole((c+1)*20 - 8, (r+1)*20, 5, 15, r=2.5) + + def render(self): + self.roundedPlate((self.columns+1) * 20, (self.rows+1)*20, edge="e", r=8, + extend_corners=False, callback=[self.CB]) diff --git a/boxes/generators/slantedtray.py b/boxes/generators/slantedtray.py index c0aec3902..df5807fd1 100644 --- a/boxes/generators/slantedtray.py +++ b/boxes/generators/slantedtray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2023 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/smallpartstray.py b/boxes/generators/smallpartstray.py index f2ada5a8d..201088a0b 100644 --- a/boxes/generators/smallpartstray.py +++ b/boxes/generators/smallpartstray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/smallpartstray2.py b/boxes/generators/smallpartstray2.py index 19e6526a9..6556304e1 100644 --- a/boxes/generators/smallpartstray2.py +++ b/boxes/generators/smallpartstray2.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2023 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/spicesrack.py b/boxes/generators/spicesrack.py index 4ec3ab027..4bf884572 100644 --- a/boxes/generators/spicesrack.py +++ b/boxes/generators/spicesrack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/spool.py b/boxes/generators/spool.py index ab2abe43a..15cc02040 100644 --- a/boxes/generators/spool.py +++ b/boxes/generators/spool.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/stachel.py b/boxes/generators/stachel.py index 06d5e517b..3041ab80b 100644 --- a/boxes/generators/stachel.py +++ b/boxes/generators/stachel.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/storagerack.py b/boxes/generators/storagerack.py index ebc3964f2..eed810c5c 100644 --- a/boxes/generators/storagerack.py +++ b/boxes/generators/storagerack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/storageshelf.py b/boxes/generators/storageshelf.py index 36ed08810..686e1a535 100644 --- a/boxes/generators/storageshelf.py +++ b/boxes/generators/storageshelf.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/tetris.py b/boxes/generators/tetris.py index 5767c9d90..02306d0ab 100644 --- a/boxes/generators/tetris.py +++ b/boxes/generators/tetris.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/trafficlight.py b/boxes/generators/trafficlight.py index cc158bfa7..3d784f418 100644 --- a/boxes/generators/trafficlight.py +++ b/boxes/generators/trafficlight.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/trayinsert.py b/boxes/generators/trayinsert.py index 69eec1d79..24f3dead6 100644 --- a/boxes/generators/trayinsert.py +++ b/boxes/generators/trayinsert.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/traylayout.py b/boxes/generators/traylayout.py index 70a14947f..fffec8d72 100644 --- a/boxes/generators/traylayout.py +++ b/boxes/generators/traylayout.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/trianglelamp.py b/boxes/generators/trianglelamp.py index 23fc39634..05390792c 100644 --- a/boxes/generators/trianglelamp.py +++ b/boxes/generators/trianglelamp.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/two_piece.py b/boxes/generators/two_piece.py index 1f0ec3407..f664359e4 100644 --- a/boxes/generators/two_piece.py +++ b/boxes/generators/two_piece.py @@ -1,4 +1,3 @@ -#!/usr/bin/python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/typetray.py b/boxes/generators/typetray.py index 89bc884de..7c9c5c654 100644 --- a/boxes/generators/typetray.py +++ b/boxes/generators/typetray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/ubox.py b/boxes/generators/ubox.py index e5017d291..6e2a5a3a4 100644 --- a/boxes/generators/ubox.py +++ b/boxes/generators/ubox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2017 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/unevenheightbox.py b/boxes/generators/unevenheightbox.py index aade8a1ed..871e9ea5d 100644 --- a/boxes/generators/unevenheightbox.py +++ b/boxes/generators/unevenheightbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2018 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/universalbox.py b/boxes/generators/universalbox.py index d3917c5da..b3f136af1 100644 --- a/boxes/generators/universalbox.py +++ b/boxes/generators/universalbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/waivyknob.py b/boxes/generators/waivyknob.py index 1eeb76ea4..3004fa063 100644 --- a/boxes/generators/waivyknob.py +++ b/boxes/generators/waivyknob.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallcaliperholder.py b/boxes/generators/wallcaliperholder.py index a28d505a4..1a34058e5 100644 --- a/boxes/generators/wallcaliperholder.py +++ b/boxes/generators/wallcaliperholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallchiselholder.py b/boxes/generators/wallchiselholder.py index 7c38e2518..cd2cde92c 100644 --- a/boxes/generators/wallchiselholder.py +++ b/boxes/generators/wallchiselholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallconsole.py b/boxes/generators/wallconsole.py index 13e945312..ebdf7e332 100644 --- a/boxes/generators/wallconsole.py +++ b/boxes/generators/wallconsole.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/walldrillbox.py b/boxes/generators/walldrillbox.py index 0ce024bbb..dc3b7e24f 100644 --- a/boxes/generators/walldrillbox.py +++ b/boxes/generators/walldrillbox.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/walledges.py b/boxes/generators/walledges.py index 1176aef52..90ccc3d2c 100644 --- a/boxes/generators/walledges.py +++ b/boxes/generators/walledges.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallpinrow.py b/boxes/generators/wallpinrow.py index b829aee7a..81f0216fb 100644 --- a/boxes/generators/wallpinrow.py +++ b/boxes/generators/wallpinrow.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallplaneholder.py b/boxes/generators/wallplaneholder.py index 545410225..5e67bdbd1 100644 --- a/boxes/generators/wallplaneholder.py +++ b/boxes/generators/wallplaneholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallpliersholder.py b/boxes/generators/wallpliersholder.py index 1bba89f85..0c511b0f6 100644 --- a/boxes/generators/wallpliersholder.py +++ b/boxes/generators/wallpliersholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallrollholder.py b/boxes/generators/wallrollholder.py index 444c40621..8728974a0 100644 --- a/boxes/generators/wallrollholder.py +++ b/boxes/generators/wallrollholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallslottedholder.py b/boxes/generators/wallslottedholder.py index 0432726e0..10ee721cd 100644 --- a/boxes/generators/wallslottedholder.py +++ b/boxes/generators/wallslottedholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallstairs.py b/boxes/generators/wallstairs.py index 9929ef6bd..16c75531a 100644 --- a/boxes/generators/wallstairs.py +++ b/boxes/generators/wallstairs.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/walltypetray.py b/boxes/generators/walltypetray.py index c27bcbaad..ca39f3151 100644 --- a/boxes/generators/walltypetray.py +++ b/boxes/generators/walltypetray.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2014 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/wallwrenchholder.py b/boxes/generators/wallwrenchholder.py index a74232a95..aef113c85 100644 --- a/boxes/generators/wallwrenchholder.py +++ b/boxes/generators/wallwrenchholder.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2019 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/boxes/generators/winerack.py b/boxes/generators/winerack.py index d23b11d6a..db0efe57e 100644 --- a/boxes/generators/winerack.py +++ b/boxes/generators/winerack.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # Copyright (C) 2013-2016 Florian Festi # # This program is free software: you can redistribute it and/or modify diff --git a/documentation/boxes.xml b/documentation/boxes.xml index aa76213d4..3f831f0b8 100644 --- a/documentation/boxes.xml +++ b/documentation/boxes.xml @@ -103,7 +103,7 @@ man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ DESCRIPTION &dhpackage; is a program that generates - SVG images that can be viewed directly in a web brower but also + SVG images that can be viewed directly in a web browser but also postscript and - with pstoedit as external helper - other vector formats including dxf, plt (aka hpgl) and gcode. diff --git a/documentation/src/api_architecture.rst b/documentation/src/api_architecture.rst index 896beae78..c723b95a2 100644 --- a/documentation/src/api_architecture.rst +++ b/documentation/src/api_architecture.rst @@ -8,7 +8,7 @@ User Interfaces User interfaces allow users to render the different generators. They handle the parameters of Generators and convert them to a readable -form. The user interfaces are located in `scripts/`. Currently there is +form. The user interfaces are located in :code:`scripts/`. Currently there is * scripts/boxes -- the command line interface * scripts/boxesserver -- the web interface @@ -44,7 +44,7 @@ Part Callbacks Most parts support callbacks - either one in the middle for round parts or one for each edge. They allow placing holes or other features -on the part, indepenent of edge type. Without using callbacks, you +on the part, independent of edge type. Without using callbacks, you will not have consistent placement of internal features. Navigation and Turtle Graphics diff --git a/documentation/src/index.rst b/documentation/src/index.rst index 4a6152e25..88e65f8e5 100644 --- a/documentation/src/index.rst +++ b/documentation/src/index.rst @@ -1,7 +1,5 @@ .. boxes.py documentation master file, created by sphinx-quickstart on Sun Mar 27 12:04:59 2016. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. Boxes.py ======== diff --git a/documentation/src/install.rst b/documentation/src/install.rst index fe22489b3..fa7d4fa86 100644 --- a/documentation/src/install.rst +++ b/documentation/src/install.rst @@ -44,7 +44,7 @@ in the :code:`boxes.formats.Formats` class. Python ...... -Boxes.py is implemented in Python 3. For supported minor version see `setup.py`. +Boxes.py is implemented in Python 3. For supported minor version see :code:`setup.py`. Sphinx ...... diff --git a/scripts/boxes_proxy.py b/scripts/boxes_proxy.py old mode 100644 new mode 100755 diff --git a/static/samples/PizzaShovel-thumb.jpg b/static/samples/PizzaShovel-thumb.jpg new file mode 100644 index 000000000..210f0a79d Binary files /dev/null and b/static/samples/PizzaShovel-thumb.jpg differ diff --git a/static/samples/PizzaShovel.jpg b/static/samples/PizzaShovel.jpg new file mode 100644 index 000000000..053de424a Binary files /dev/null and b/static/samples/PizzaShovel.jpg differ diff --git a/static/samples/samples.sha256 b/static/samples/samples.sha256 index c9ed9647d..f4c815aa6 100644 --- a/static/samples/samples.sha256 +++ b/static/samples/samples.sha256 @@ -142,4 +142,5 @@ c8adb0661956430ccec7fc00aa4b8e3c42d02083e17a9307541bc0160251cb96 ../static/samp fda14ba0920ef7ea0579117a30b5bb4a05ab3be4da3d87a4fc03fc40b085992b ../static/samples/PirateChest.jpg 125033a02263e74d5688287936f54cd83e917276b7c35f3fd37e6cb86efc0dcc ../static/samples/Shoe.jpg 7bf29dc9e2f0b5a0bbedc8b7b6814fe4cec58e9dcebfcd1167757a2bbcc91c17 ../static/samples/Hook.jpg +16013717335b8561b5d78bd586dceee5bac6a35e9e6f0bb9c3b36dc6ea5218bd ../static/samples/PizzaShovel.jpg 37f084837ba5177dff8af8e2f695695ea9567a9e76051b33beef064953bb0a96 ../static/samples/CoasterHolder.jpg