Commit Graph

1039 Commits

Author SHA1 Message Date
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
Florian Festi d6faf5be3e rectangularWall: Fix placement for ignore_widths 6
we need to move for the edge margin every time. Otherwise the edge will
stick out.
2022-08-08 21:50:47 +02:00
suks.ae 00ab597773 DividerTray: Add Labels 2022-08-04 22:05:07 +02:00
Florian Festi 99cc13b367 New generator: RegularStarBox
Box made from two regular polygon pieces that go together to form a star.
2022-08-03 20:44:52 +02:00
suks.ae 9cadd12635 changed font color to ETCHING,
changed font size to depend on tile size
2022-07-31 16:27:13 +02:00
Florian Festi 05fc5aab32 New Generator: CardHolder
Resolves: #279
2022-07-31 00:28:13 +02:00
Florian Festi fc64f03eed WallDrillBox: Move to WallMounted group
Force manually to fix inheritance mess
2022-07-30 20:11:21 +02:00
Florian Festi d1bb098540 WallEdges: French Cleats
Resolves: #366
2022-07-30 18:24:00 +02:00
Florian Festi be68061b17 DrillBox: Extend finger joints on sides to whole height 2022-07-28 22:33:33 +02:00
Florian Festi 8076566616 DrillBox: Add support for top_edge parameter
with limited selection of edge types (compared to UniversalBox)

Resolves: #416
2022-07-28 22:27:48 +02:00
Florian Festi db1ca9e505 MountingEdge: Fix typo and default
for side to "back"
2022-07-28 22:26:55 +02:00
Florian Festi fef38c0b27 Remove HexHoles generator
as it is superseeded by the HolePattern generator which does more and
does better.
2022-07-24 10:57:56 +02:00
Florian Festi a83497758c New generator: HolePattern
using the new fillHoles function.

Resolves: #31
Related: #400
2022-07-24 10:55:11 +02:00
suks.ae e4c8566ce6 New generator: FillTest
for debugging only - just to have consistent test cases for runtime measurements
2022-07-23 09:56:25 +02:00
suks.ae 5169343be7 Add fillHoles() function
to fill a polygon with a hole pattern
2022-07-23 09:53:11 +02:00
suks.ae 3793a2bb09 Add regularPolygonHole()
to be used by fillHoles
2022-07-23 09:44:20 +02:00
Florian Festi 4a5aee7ad7 BirdHouse: Fix the gable walls
Looks like edgeCorner() still doesn't work properly with angles < 90°.
Avoid issue by switching to f edges that don't need width adjustments.

Also make the roof wider

Related: #414
2022-07-19 09:27:17 +02:00
Florian Festi 20ab2a1bed flangedWall: Do inger holes for h edge
if there is a flange at that side
2022-07-19 09:25:17 +02:00
Florian Festi 0938d12aa0 BirdHouse: Fix collision between roof and sides
and hole sizes in the fronts
2022-07-19 00:22:03 +02:00
Florian Festi 777e79afc1 New generator: BirdHouse
Still untested
2022-07-18 22:30:53 +02:00
Florian Festi 574f72e6e4 DividerTray: Fix height if "outside" and "bottom" is selected
Thanks to https://github.com/nialabert for reporting!

Resolves: #413
2022-07-12 22:13:19 +02:00
HaSHsss bf84ee1e73 Create slidingdrawer.py 2022-07-09 21:32:30 +02:00
Florian Festi 13170f0306 FingerJoints: Move drawing fingers into function
so it can be reused by sub classes
2022-06-28 08:35:00 +02:00
Florian Festi c70eecd1d1 Convert given default values to proper type
for when converting Settings to parseargs to void the type changing by
careless new default values.
2022-06-28 08:35:00 +02:00
Florian Festi fd30b8b0b7 Only merge paths with the same color and width
Related: #353
2022-06-28 08:35:00 +02:00
Florian Festi 73a46460ee Platonic: Add image of Icosahedron
Thanks to https://github.com/YodaMaster18 for the image!

Resolves: #409
2022-06-26 16:46:41 +02:00
Florian Festi 277e0f2c38 Rename WallMountedBox to _WallMountedBox
as it is an abstract class and should not appear in the list of generators.

Thanks to https://github.com/HaSHsss for reporting!

Resolves: #408
2022-06-22 22:50:57 +02:00
Florian Festi ad056de77f OttoSoles: Make soles a little bit larger by default 2022-06-22 22:42:31 +02:00
Florian Festi e414e73bf2 RoundedTriangleEdge: Reduce default height to 50
Avoid height of several generators becoming negative if
RoundedTriangleEdge is selceted with default values e.g. for
UniversalBox and TypeTray. These are only 100mm hight with outside
option being enabled.

Thanks to https://github.com/SuksAE, https://github.com/HaSHsss and
https://github.com/Arcturuss for pushing this issue.

Resolves: #406
Resolves: #305
2022-06-20 08:10:07 +02:00
Florian Festi 52ec9af104 WallDrillBox: Fix inheritance mess 2022-06-10 23:32:32 +02:00
Florian Festi 17e527484f DinRailBox: Move to WallMounted group
and improve placement and labels
2022-06-10 23:10:04 +02:00
Florian Festi 0a32f8ed07 WallEdges: Improve char placement 2022-06-10 23:01:54 +02:00
Florian Festi 7d7e0a5c9f Move all Slatwall generators to new WallEdges infrastructure
Add "plain" and "plain reenforced" wall styles with straight back
2022-06-10 23:01:54 +02:00
Florian Festi 362dd54e09 Move Slatwall classes to walledges 2022-06-10 23:01:54 +02:00
Florian Festi bfa327d83a Don't try to add closed loops to other paths
This is too slow for hole patterns and the holes can't be added anywhere
anyway.
2022-06-07 08:51:25 +02:00
Florian Festi c289758749 CabinetHingeEdge: Fix spurious 270° corner
Resolves: #404 - Issue not found
2022-06-06 19:58:00 +02:00
suks.ae 2f59c6191b fixed debug rectangle to be painted with ANNOTATIONS color 2022-06-05 22:37:00 +02:00
suks.ae ce032e323f reworked color handling to improve mapping with Lightburn layers 2022-06-05 12:18:51 +02:00
Florian Festi b864cfcd56 Fix MagazineFile for e as top_edge 2022-05-27 22:58:17 +02:00
suks.ae af8a30287e Add burn value to reference text 2022-05-27 15:16:50 +02:00
suks.ae ec0d24efd2 Fix svg text alignment for "middle"
See https://stackoverflow.com/questions/19212498/firefox-support-for-alignment-baseline-property/21373135#21373135
2022-05-27 15:05:37 +02:00
Florian Festi 4a339a31db White space in comments 2022-05-27 14:53:40 +02:00
Florian Festi ee9fb4d7fe TrafficLight: Add label 2022-05-27 14:53:40 +02:00
suks.ae 7f67bae793 MagazineFile: Add MountingEdge 2022-05-27 14:53:40 +02:00
suks.ae 20f45224fb Add MountingEdge
and add it to top_edge.
2022-05-27 14:53:40 +02:00
Florian Festi e6ef17c070 Quote -- everywhere in the SVG/XML comment
by adding spaces inbetween. Double replace to deal with multiple dashes
in as row. Otherwise a space would be added only every second gap due to
overlapping replacements.
2022-05-15 16:06:24 +02:00
SuksAE 363b474b46
Add parameter "hole_dD" to .buildArgParser() 2022-05-15 10:23:14 +02:00
SuksAE 1bb4b8c0c3
Added pear shaped mounting hole drawing function (#392)
and add them to BinTray and TrafficLight
Add labels to the parts of these generators
Add doc strings to all hole types
2022-05-15 07:55:53 +02:00