Commit Graph

1066 Commits

Author SHA1 Message Date
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
SuksAE ece304bf1f
Add labels to some generators 2022-05-14 10:35:58 +02:00
Florian Festi c998509a7e RectangularWall: Add new stackable edges
bottom without finger holes and top with
2022-05-08 12:21:28 +02:00
Florian Festi aafc99b4a1 StorageShelf, TypeTray: Add stackable edge
with finger holes as top_edge
2022-05-08 12:20:29 +02:00
Florian Festi 50072a18b7 Add stackable edge with finger holes to top_edge
standard parameter and support it in drawLid()
2022-05-08 12:18:15 +02:00
Florian Festi e61cbe10b8 StorageRack: Add support for stackable top edges 2022-05-04 22:20:31 +02:00
Florian Festi a7afc8b1b6 Add stackable top edge with finger holes 2022-05-04 22:19:35 +02:00
Florian Festi b4d8641fc0 TwoPiece: Add some help and another picture
Thanks to https://github.com/Day0Dreamer for the image.

Related: #140
2022-04-30 17:47:29 +02:00
Florian Festi ccb2627e8f DrillStand: Add pictures
including assembling instructions.

Thanks to https://github.com/IgnorantOneTwo for providing the images!

Related: #140
2022-04-30 17:01:17 +02:00
suks.ae 7485e47e42 added group support to lbrn2 output 2022-04-19 21:57:58 +02:00
suks.ae 3d7986f130 updated list of used edge characters in documentation
added reserved chars for generator use
changed generator template to reserved char
2022-04-19 21:57:58 +02:00
Florian Festi 17009eed85 WallCaliperHolder: Fix back plate 2022-04-12 21:57:59 +02:00
Florian Festi 403361ff7c SpicesRack: Remove debugging code 2022-04-12 21:57:59 +02:00
Florian Festi 76384165cd Use Python 3 style super()
which is simpler and less fragile.
2022-04-09 20:45:31 +02:00
Florian Festi 94935d96bd BottleTag: Better parameter names 2022-03-30 23:37:53 +02:00
Shaun 6b6a5fd860 Initial commit of Bottle Tag generator 2022-03-30 23:30:47 +02:00
Florian Festi 84797abc35 DividerTray: Improve Settings descriptions 2022-03-30 23:27:29 +02:00
Guillaume Collic b9dbe1d2e8 chore: small description error 2022-03-30 23:18:46 +02:00
Guillaume Collic 17eb073c81 feat: DividerTray use Settings 2022-03-30 23:18:46 +02:00
suks.ae e8e75765b9 fixed error generating an empty path list 2022-03-30 08:08:52 +02:00
suks.ae cf99c93400 lbrn2 output: Suppress output of empty text fields 2022-03-28 21:43:48 +02:00
Florian Festi 70c49afb57 Don't render empty part labels 2022-03-28 21:42:06 +02:00
Guillaume Collic 3d2a4819ac feat: DividerTray make the play optional 2022-03-27 22:43:49 +02:00
Guillaume Collic 95e5c26b4d refactor: DividerTray add notches in wall by default 2022-03-27 22:21:38 +02:00
Guillaume Collic 6cffe5e6a8 refactor: DividerTray obsolete lines 2022-03-27 22:21:38 +02:00
Florian Festi d062a1e9aa Use elif 2022-03-27 22:09:39 +02:00
Florian Festi f1f829d5fb FingerJoints: Add "snap" style 2022-03-27 22:09:32 +02:00
Florian Festi be0aec17cf FingerJoints: Add "barb" style 2022-03-27 22:09:32 +02:00
suks.ae e8b88e53f1 add Lightburn .lbrn2 file format support 2022-03-27 22:02:44 +02:00
Florian Festi 1362364c33 HingeBox: Remove debugging code 2022-03-27 11:30:31 +02:00
Florian Festi 67bd25016b DividerTray: Add a bit of play to the dividers
Especially the divider over the whole width can use some play for the
slots to avoid them clamping onto the walls.

Related: #374
2022-03-21 17:53:30 +01:00
Florian Festi 3bf4be5e1d DividerTray: Add divider across full width
Resolves: #374
2022-03-21 17:46:43 +01:00
Florian Festi b68aa5bb0f DividerTray: Add description
Related: #374
2022-03-21 17:23:29 +01:00
Florian Festi ec6f784442 HingeSettings: Check axle for valid values 2022-03-21 12:10:12 +01:00
Florian Festi a7063011b5 Add inner_corner default setting
to allow removing the loops in inner corners

Related: #294
2022-03-20 19:04:27 +01:00
Florian Festi b12fded50d Remove backslash from description
as it trips up gettext.

Also update language files.

Resolves: #371
2022-03-12 18:24:11 +01:00
Florian Festi ea4036b3d4 ArgparseEdgeType: Re-enable Inkscape format
Got dropped in ecf14540f5 while moving to
Inkscape 1.0.

Related: #369
2022-02-18 10:46:11 +01:00
Florian Festi 529574fb5d Dispenser: Fix sideedges parameter
Looks like both the ArgparseEdgeType machinery and the inx conversion
should be more robust...

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

Resolves: #369
2022-02-16 17:16:36 +01:00
Florian Festi 7eca5a6c05 Slatwall Edges: Redimentary DIN rail support
Added type parameter to SlatwallSettings
2022-02-11 19:17:40 +01:00
Florian Festi b8c8a9ec8d Fix pstoedit for non Unix OSs
Resolves: #362
2022-02-07 18:06:20 +01:00
Florian Festi 048bb11b09 BinTray: Fix settings for finger joints on 45° angles
Previously a new settings object was created and settings in the UI were
ignored. Now the settings are copied over.

Resolves: #364
Thanks to https://github.com/leyton01 for reporting!
2022-02-06 17:35:15 +01:00
Florian Festi 685f364290 New generator: Dispenser
Related: #278
2022-01-28 22:56:05 +01:00
Florian Festi 633be86ea0 New generator: JointPanel
Create pieces larger than your laser cutter by joining them with Dove Tails
2022-01-28 17:05:58 +01:00
Florian Festi 750b33a8ce SlatwallDrillbox: longer side skirts 2022-01-27 22:53:23 +01:00
Florian Festi e072226aad DrillStand: pass edges param to sidewall
Use sidewall() in SlatwallDrillbox, too
2022-01-27 22:53:23 +01:00
Florian Festi 6e2e29e6ff SlatwallDrillBox: Use finger holes to fix bottom in place
Otherwise all the weight of the drills is just held up by glue
2022-01-27 22:53:23 +01:00
Florian Festi b190a11cb4 DrillStand: Use finger holes to fix bottom in place
Otherwise all the weight of the drills is just held up by glue
2022-01-23 16:24:24 +01:00
Florian Festi 28d7dc16b9 SlatwallDrillbox: Base on DrillStand to reduce copied code 2022-01-23 16:23:49 +01:00
Florian Festi a364f603a8 Add extra_length to Finger Joint Settings
to allow extending the finger joints so burn marks can be ground off.

Thanks to all who have been pushing for this feature!

Resolves: #270
2022-01-16 15:18:11 +01:00
Florian Festi c4038696f1 BayonetBox: Minor punktuation fix 2022-01-11 09:09:32 +01:00
Florian Festi 9f4657cc64 RegularBox: Improve defaults and docs
Reduce surroundingspaces as it is likely that fingers won't fit for
small boxes or one with many sides.

Also add proper description instead of inheriting the one from bayonet
box directly.
2022-01-11 09:07:09 +01:00
Florian Festi d29c8f7138 Consistent units for standard parameters 2022-01-09 16:20:58 +01:00
Florian Festi e28976d5e3 Add doc link for tabs param 2022-01-07 22:22:03 +01:00
Florian Festi b7b74ab27f Settings: Add "multiple of thickness"
where appropriate. Before that not indication on what the numbers
actually mean were given.
2022-01-07 22:22:03 +01:00
Florian Festi 72a111a100 Shorten parameter descriptions to fit in one line
The additional information is now available via help link to the user
documentation.
2022-01-07 22:22:03 +01:00
Florian Festi 83fc970d7c New generator: ABox
A simple box that is easier to use for beginners than the UniversalBox

Related: #356
2022-01-07 22:22:03 +01:00
Florian Festi 0b3a0506d7 CardBox: Further improve description 2022-01-05 21:34:15 +01:00
Florian Festi 4544bc3009 RoundedBox: Add Dove Tail Settings 2022-01-05 18:29:29 +01:00
Florian Festi 5810314331 DoveTailEdge: Fix edge without dove tails 2022-01-05 18:29:09 +01:00
Florian Festi 260633d9cd PaperBox: Format description properly 2022-01-03 15:23:26 +01:00
Florian Festi 9b0c842522 Fix docstring formatting 2022-01-03 13:42:40 +01:00
Florian Festi acf4e81159 Add links to documentation to web UI
for some of the parameters
2022-01-03 13:30:43 +01:00
Florian Festi 4ba1768d29 Treat all parameter descriptions as markdown
in the web UI
2022-01-03 13:29:12 +01:00
Florian Festi d5654137a4 RoundedBox: Allow arbirtary horizontal layers
by changing h param to sh.

Also surroundingWallPiece to get the dimmensions of each section in the
surrounding wall.

Resolves: #339

Thanks to Florin Furdi for the idea!
2022-01-02 13:48:32 +01:00
Florian Festi ff6a2b955a CardBox: Put lid pieces together
to make it easier to understand that goes together
2022-01-02 12:11:56 +01:00
Guillaume Collic 0c023f2e5f
Paperbox: Add second design better suited for smaller lids
Based on discussion in #351

Suggested by and co-developed by https://github.com/fuddl
2022-01-02 12:11:14 +01:00
Florian Festi fdc8618900 Cardbox: point to the right picture in description 2022-01-02 11:08:49 +01:00
Florian Festi 9a98a50506 DrillBox: Move to Tray group 2021-12-15 14:18:17 +01:00
Florian Festi bfe39861fa DrillBox: Make layers adjustable
Now one can have any number of layers at any height. This may make the
generator useful for other application with custom hole patters on
different height. It also allows deleteing holes for short drills on the
lower layers.

Thanks to https://github.com/KittyDreadful for suggesting this!

Related: #339
2021-12-15 14:18:17 +01:00
Florian Festi 9b0ebad0e7 DrillBox: Make bottom edge configurable 2021-12-15 14:18:17 +01:00
Florian Festi 68e0bae6a9 DrillBox: Set finger joint details as defaults
instead of hard coding them
2021-12-15 14:18:17 +01:00
iooner 866714ef7e Fix Typo 2021-12-14 22:20:56 +01:00
Florian Festi b11f9b0f1a BinTray: Fix finger holes in side walls
Pattern was mirrored before.

Resolves: #348

Thanks to https://github.com/Al0rin for reporting!
2021-12-04 18:52:31 +01:00
Florian Festi ee2baab396 flangedWall: Allow other edge types
for sides without flange. Support "e" edges for sides with flanges
(along with "E" and "F")

Resolves: #347
2021-12-04 16:02:25 +01:00