Commit Graph

1086 Commits

Author SHA1 Message Date
Rotzbua 64dca171b4 extents: add types
* lint code
2023-02-07 20:08:20 +01:00
Rotzbua 8db417a134 dividertray: fix typos 2023-02-07 15:20:08 +01:00
Florian Festi 618fe78314 GrindfinityBase: Remove HTML link from __doc__ string
As it creates problems with the new gallery feature
2023-02-05 16:17:30 +01:00
caleb crome 4c9830315d 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.
2023-01-31 20:50:03 +01:00
Patrick van der Leer f954e4e857 PaintStorage: Add additional_bottom and additional_top option 2023-01-31 20:12:17 +01:00
Patrick van der Leer 98d6d949fa DisplayShelf: Add option for dividers 2023-01-30 15:31:49 +01:00
Florian Festi 4f01d071c3 SmallPartsTray2: Use defaults that actually work
Thanks to caleb crome <https://github.com/ccrome> for pointing this out!
Resolves: #527
2023-01-29 23:36:22 +01:00
Rotzbua f6fd3fce1c UIGroup: add typing 2023-01-28 17:12:20 +01:00
Florian Festi 05056e569b New generators: Spool and FilamentSpool 2023-01-24 23:10:34 +01:00
Rotzbua a4223623b5 edges: remove redundant `else return` 2023-01-23 20:40:43 +01:00
Rotzbua b2cee8de97 edges: migrate to f-string 2023-01-23 20:40:43 +01:00
Rotzbua 4a957c2f8b edges: add abstract 2023-01-23 20:40:43 +01:00
Rotzbua 71ddb11cee edges: add typing 2023-01-23 20:40:43 +01:00
Rotzbua 2a044e7829 edges: code style 2023-01-23 20:40:43 +01:00
Rotzbua 7cdb8749bf Migrate: use `@property` decorator 2023-01-23 16:33:00 +01:00
Rotzbua d894b94120 svgutil: add typing 2023-01-23 16:31:07 +01:00
Rotzbua b5e7a26260 svgutil: migrate to f-string 2023-01-23 16:31:07 +01:00
Rotzbua fe934e9375 svgutil: fix string prefix 2023-01-23 16:31:07 +01:00
Rotzbua 66cd7c871e svgutil: code style 2023-01-23 16:31:07 +01:00
Florian Festi 1b3a8a4b9a New generator: WallRollHolder 2023-01-19 23:31:01 +01:00
Florian Festi dfedb3f6cd TrayLayout: Use E edge if there is no floor
Resolves: #35
2023-01-17 20:56:33 +01:00
Florian Festi 25551ef8b1 CrossingFingerHoleEdge: Add outset parameter 2023-01-17 20:53:18 +01:00
Florian Festi 679ae8e198 RollHolder: declare stable 2023-01-17 18:59:54 +01:00
Florian Festi 2c554185b2 SmallPartsTray: Declare stable 2023-01-17 17:25:40 +01:00
Florian Festi 068b69a3e4 SlantedTray: Declare stable 2023-01-17 17:25:40 +01:00
Florian Festi 84d01dd12e SmallPartsTray2: Declare stable 2023-01-17 17:25:40 +01:00
Florian Festi ec929e5b31 SmallPartsTray2: Add back_height parameter 2023-01-16 18:58:15 +01:00
Florian Festi 7535572d77 New generator: SmallPartsTray2 2023-01-16 18:58:15 +01:00
Florian Festi 971c20be7c trapezoidSideWall: Fix call to move
resulting in an assert error as the label was used as "before" parameter
which messes up the whole magic inside .move(). As a result the .stroke() method was not called - leading to unprocesses paths - triggering the assert.

Resolves: #423
2023-01-16 12:20:26 +01:00
Florian Festi d3df27b238 BreadBox: Declare stable and add sample image
Thanks to Ed Nisley <https://github.com/ednisley> for the picture!

Resolves: #431
2023-01-14 00:05:02 +01:00
Rotzbua bf38b9d2c3 Migrate to modern typing 2023-01-13 16:19:43 +01:00
Rotzbua 7fd97931fd Remove old `super()` calls and class declaration 2023-01-13 16:18:44 +01:00
Rotzbua 631ff35f80 Remove outdated unicode literals 2023-01-13 16:18:44 +01:00
Rotzbua 6fac72bebd Remove useless parentheses 2023-01-13 16:18:44 +01:00
Florian Festi d6099e5978 Make Parts.ringSegment actually work 2023-01-11 20:33:49 +01:00
Florian Festi 6f626d04a7 Remove debug code 2023-01-11 20:31:59 +01:00
Florian Festi c8f5b6d0b1 New generator: RollHolder
Holder for kitchen, toilet paper or other rolls
2023-01-10 21:42:54 +01:00
Florian Festi 1f9f45d87b New generator: SlantedTray
Stolen from AgricolaInsert.
2023-01-09 22:53:56 +01:00
Florian Festi b9e8c919ad SmallPartsTray: Minor cleanups 2023-01-09 21:04:38 +01:00
Florian Festi 5152c90fc5 SmallPartsTray: Add outside parameter 2023-01-09 21:04:38 +01:00
Florian Festi 14c2a820c0 New generator: SmallPartsTray
Tray for game tokens, small nuts and bolts or all other tiny items. It
has a slant on the bottom for the side wall so such pieces can be picked
up easily with one finger.
2023-01-09 16:52:04 +01:00
Rotzbua fceb5f2dfe Add typing: variables 2023-01-09 07:55:59 +01:00
Rotzbua 11340448fa Add typing: magic methods 2023-01-09 07:55:59 +01:00
Rotzbua 47b3bf83a3 Doc: Change links to https 2023-01-08 17:57:08 +01:00
caleb crome ede8546167 Create a gridfinity base and holding tray 2023-01-08 11:47:54 +01:00
Florian Festi a01bc11cb7 polygonWall: Fix margin calculation
by tracing the outline of the edge margins.

Fixes 1875742b8d
2023-01-04 13:30:14 +01:00
Rotzbua 9cb581a6ad
Fix misspelled variables (#484)
Co-authored-by: Florian Festi <florian@festi.info>
2023-01-02 16:23:24 +01:00
Rotzbua 5fae61bd0d Fix typos and docstrings 2023-01-02 16:15:13 +01:00
Florian Festi 4d41b2ddb1 FingerHolesEdge: Add bottom_lip parameter
to support boxes that stack on top of each other like milk crates
2023-01-02 13:00:07 +01:00
Florian Festi b5d10334d0 StackableEdge: Add bottom_stabilizers parameter
to generate strips to be glued to the inside of bottom edges
2023-01-02 13:00:07 +01:00
Rotzbua 9d6f535e01 Fix typing errors 2023-01-01 18:10:42 +01:00
Florian Festi 1875742b8d polygonWall: Take all edge type into account
when calculating the extent of the polygon. This is a less than ideal,
worst case estimate. Should be replaced by something a bit smarter that
only looks at the current edge and the space it needs.
2023-01-01 15:26:07 +01:00
ranthalion 420550b2c4 DisplayShelf: Implement back and slope 2023-01-01 15:14:44 +01:00
Rotzbua ad38bb1eaf Auto optimize imports
* Remove unused
* Rearrange imports (module > partial > project)
2022-12-31 20:33:49 +01:00
Rotzbua 20032e50be Remove outdated imports 2022-12-31 20:33:49 +01:00
Rotzbua 508dd0f030 Change SVG encoding
Change from default 'us-ascii' to universal 'utf-8'.
2022-12-30 16:44:05 +01:00
Rotzbua 1d6efb5371 Fix comparison with None and equality operator 2022-12-29 12:02:33 +01:00
Rotzbua 4ffad120b5 Remove unnecessary backslash 2022-12-29 12:02:33 +01:00
Rotzbua 03879258e8 Remove trailing semicolon 2022-12-29 12:02:33 +01:00
Rotzbua 5f9f704869 Remove deprecated `cElementTree`
Deprecated since version 3.3: The xml.etree.cElementTree module is deprecated.
2022-12-29 12:02:33 +01:00
Rotzbua 2e98f0fee0 Remove Python 2.7 coding hint 2022-12-29 12:02:33 +01:00
Alex Shargalin 6162383de1 Update edges.py 2022-12-25 18:08:59 +01:00
Florian Festi 9729ca6d0f HingeBox: Add assembly instructions
Resolves: #442
2022-12-25 16:48:00 +01:00
Florian Festi 7a0dd3ebdf flangedWall: Fix placement of finger holes
for walls with other width than t
2022-12-21 22:38:06 +01:00
Florian Festi 814405f0be DisplayShelf: Fix shelf placement for negative angles
Resolves: #463
2022-12-06 20:12:02 +01:00
ranthalion fe28b7454e Add edges to polygonWall 2022-12-06 18:12:21 +01:00
Florian Festi a69b1da78f Whitespace cleanup 2022-12-06 18:12:21 +01:00
Florian Festi 6ab0cef413 Use straight edge for slots SlottedEdge
Used the connecting edge due to an aliasing issue. This broke as the
FingerJointEdge now places fingers even for smaller lengths.

Thanks to Nic Jansma (https://github.com/nicjansma) for reporting!

Resolves: #452
2022-11-12 09:17:56 +01:00
Florian Festi 0c87b43b52 FrenchCleats: Make top and bottom section small
enough to not have finger holes in them. With the new changes to
FingerJoints fingers can now fit into much smaller edges and here that
only weakens the connection between left and right of the edge.
2022-10-02 11:29:07 +02:00
Florian Festi c4b0971d03 topEdges: Give better names to variables 2022-10-01 13:35:51 +02:00
Florian Festi 3a06aa1d62 DocText for topEdges 2022-10-01 13:35:51 +02:00
Florian Festi a7fb562306 TypeTray: Rename top edge variables
to something more meaningful
2022-10-01 13:35:51 +02:00
Florian Festi 6109c6570a TypeTray: Add labels and move grip hole to front 2022-10-01 13:35:51 +02:00
Florian Festi 9dd211d792 DividerTray: Add dividers with asymetric tabs
Related: #438
2022-10-01 10:56:24 +02:00
Florian Festi 77b1e1b4ce DividerTray: Close last corner of the dividers
There was just one corner missing.

Related: #438
2022-10-01 10:20:45 +02:00
suks.ae 9c253a3525 New generator: HalfBox
Configurable half of a box which can be: a bookend, a hanging shelf, an angle clamping jig, ...

ready for pull request
2022-09-30 19:28:01 +02:00
Florian Festi d782eb281c FingerJointEdges: Better deal with short edges
Shrink surroundingspaces when need to still fit at least one finger. If
even one regular finger won't fit use a small rectangular style finger.

This is a bit hacky as the same logic is copied in both
FingerJointEdge and FingerHoles
2022-09-30 19:28:01 +02:00
suks.ae 93a4cad4f4 fixed edge ordering for topEdges() function 2022-09-24 08:36:00 +02:00
suks.ae f57ba7fdb8 fixed labels 2022-09-24 08:36:00 +02:00
suks.ae 2086eac5e6 DividerTray, Typetray: Add handle parameter 2022-09-24 08:36:00 +02:00
suks.ae bfaabc2619 Add HandleEdge 2022-09-24 08:36:00 +02:00
Florian Festi 4401a096ec New generator: BreadBox
Related: #431
2022-09-23 21:09:35 +02:00
Florian Festi 41ecd619cc DividerTray: Add dividers with half width tabs
This allows having dividers side by side.

Resolves: #436
2022-09-23 17:06:13 +02:00
Florian Festi 55e56d963c KeyPad: Add description
pointing to different material thickness for the top layer(s)

Related: #435
2022-09-22 20:04:56 +02:00
Florian Festi 4008c2b967 SlatWallEdges: Add parameters for hook heights
and make lengths and margin dependent of the parameters

Related: #434
2022-09-22 19:44:06 +02:00
Florian Festi 93a4fad7a1 Planetary2: Move to Unstable as it is not yet working properly
The middle gear set can't fulfill the planetary gear set condition
(ring = sun + 2 * planets)
May have more issues.

Resolves: #417
2022-09-18 01:18:49 +02:00
Electro707 33ede5eef7 New generator: CoinDisplay
Resolves: #426
2022-09-18 00:58:00 +02:00
Florian Festi 1593331194 SlatWallSettings: Add hook_distance parameter
Resolves: #434
2022-09-18 00:47:25 +02:00
funkonaut 691f3f440e Add aria labels to inputs
to make them accessible for screen reader users.

Assign ids to the tds containing the setting name and description and
then use them as the label via the aria-labeledby attribute.
2022-09-08 09:00:04 +02:00
suks.ae 43bd7d12d3 New generator: CanStorage
A dispenser for cylindrical objects like cans or batteries.
2022-09-08 08:41:08 +02:00
Tino Hager 4483e483f7 Fix white space in boxes/extents.py
now that we mess up the history anyway.
2022-09-06 18:54:44 +02:00
Tino Hager 7f1249cb67 Create .gitattributes
And set Pyhton and text files to Unix style end of lines (lf)
Convert boxes/extents.py which was still on DOS style new lines.
2022-09-06 18:52:06 +02:00
Florian Festi cd4949ccac Only draw snap finger joint for wide fingers
and use rectangular fingers if width is smaller than 1.9
2022-08-20 09:03:21 +02:00
Florian Festi 87cf8fedbf DiceBox: Add image and move to Boxes group
Related: #419
2022-08-19 23:28:41 +02:00
Erik Snider 9e6c0ab604 Add dicebox generator 2022-08-18 00:08:20 +02:00
Erik Snider a41ffd6905 Add option for finger joints on the base and lid of hinged chests 2022-08-18 00:08:20 +02:00
Erik Snider 3572feab41 Update regularPolygonHole to support rounded corners 2022-08-18 00:08:20 +02:00
Florian Festi dcff72bb47 Fix barbs and spring finger joint types
broken in 13170f0306

Thanks to Tino Hager (https://github.com/tinohager) for reporting!

Resolves: #420
2022-08-13 11:43:02 +02:00
Florian Festi 59a6ea549d LaptopStand: Improve part placement
and add support for move parameter
2022-08-12 16:00:09 +02:00
Daniel 46032482b8 Laptop-stand: create generator 2022-08-12 16:00:09 +02:00