Commit Graph

1036 Commits

Author SHA1 Message Date
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
Florian Festi ad1be4c361 Fix placement of rectangularTriangle(s)
That was broken by fcefddca1e. Turns out
the the handling of self.spacing (distance between parts was not handled
properly.

Resolves: #346

Thanks to Guillaume Collic for reporting!
2021-12-01 23:37:02 +01:00
Florian Festi 8b791b32b6 TypeTray: Use h edge for sides if back_height is set
Better support pulling forces if tray is screwed to a wall.
2021-11-17 17:58:13 +01:00
Florian Festi a0f8fdd975 TypeTray: Fix front when back_height is set
Side edges did not fit into side walls.

Resolves: #336
Thanks to https://github.com/RestlessRabbits for reporting!
2021-11-17 17:58:13 +01:00
Florian Festi 4319b704dd DrillBox: Fix holes diameter
by removing radius vs diameter mixup

Resolves: #338
Thanks to https://github.com/KittyDreadful for reporting!
2021-11-08 14:06:24 +01:00
Mateusz Konieczny 62b30e3d88 fix some typos with codespell 2021-11-03 15:34:38 +01:00
Florian Festi 40e56bf26f TypeTray: Add back_height parameter
to allow mounting space similar to SlatwallTypeTray
2021-10-30 22:01:36 +02:00
Florian Festi c3faa8f5a8 Folder: Add settings tab for flex
Remove unused Fingerjoint Settings
2021-10-24 23:19:17 +02:00
Florian Festi fce7e08a1a Adjust line width in transform()
Pass scale param down the transform call tree.
This fixes the inner corners for the PS output which were seen as "too
big" when comparing with the wrong line width.

Resolves: #332
2021-10-09 13:59:24 +02:00
Florian Festi cbbe8c11cc Shutterbox: More pictures
Thanks to Taylor Williams (https://github.com/tzwilliams)!
2021-09-26 17:33:29 +02:00
Florian Festi d6c8d965c3 RoundedBox: More pictures
Thanks to Taylor Williams (https://github.com/tzwilliams)!
2021-09-26 17:04:18 +02:00
Florian Festi a2678de3e2 SilverwareBox: Fix edge of surrounding wall
and remove bogus arc holes at the corners
2021-09-21 23:02:47 +02:00
Florian Festi f6fa4967ab surroundingWall: Fix size calculation
Resolves: #297
2021-09-21 23:01:53 +02:00
Florian Festi fcefddca1e rectangularTriangle: Improve spacing 2021-09-21 22:52:10 +02:00
0xfab1 aad270e67e The Royal Game of Ur Images 2021-09-19 20:37:29 +02:00
Florian Festi eb84f0e0ac rectangularTriangle: Fix placement
Resolves: #308
2021-09-19 16:52:29 +02:00
Florian Festi 8030faadd6 rectangularTriangle: Fix outset edges in hypothenuse 2021-09-19 16:50:39 +02:00
Florian Festi cd604f0d53 CardBox: Fix height
Previously box was one thickness to low as the height of the lid was not
accounted for.

Thanks to hd (https://hackaday.io/hacker/1210037-hd) for pointing this
out!
2021-09-03 13:59:11 +02:00
Florian Festi 44cf852fac Openbox: Add edgetype parameter 2021-07-18 15:37:04 +02:00
Florian Festi 064cd71cd5 OpenBox: Remove unused bedbolt parameters 2021-07-18 15:37:04 +02:00
Florian Festi 2154245cde AngledBox: Render surrounding walls in order 2021-06-27 16:24:01 +02:00
jens persson a35674a736 Add labels to Cardbox
Added labels to CardBox
Also rearange some parts to make labels easier to read
2021-06-27 16:07:58 +02:00
jens persson c0eca5ea5f Add labels to boxes
Added labels to AngledBox, BasedBox, ClosedBox, Console2, DinRailBox,
DisplayCase and ElectronicsBox
2021-06-27 16:07:58 +02:00
Florian Festi 6238903237 Gears: Use proper metric module
with diameter / #teeth instead of circumference / #teeth.

Thanks to nialabert (https://github.com/nialabert) for pointing this
out!

Resolves: #260
2021-06-26 10:58:25 +02:00
Florian Festi 9cb038ef0a Quote cli in meta data to not contain line breaks
Resolves: #327
2021-06-25 22:13:13 +02:00
Florian Festi 3ff0df504b DoubleFlexDoorBox: Add picture
and move out of Unstable.

Thanks to Targor (https://github.com/targor) for the idea and image

Resolves: #322
2021-06-13 09:23:37 +02:00
Marcin Zukowski 2538f2fef3 Add optional "finger hold" to the sliding lid, present if "hole_width" > 0.
Also:
* add comments for the sliding lid parameters
* move groove-cutting logic to helper methods

Example usage:
scripts/boxes UniversalBox --bottom_edge=F --top_edge=L --Lid_spring=none --Lid_style=springs --x=100.0 --y=100.0 --h=100.0 --reference=0 --thickness=3.0 --Lid_hole_width=20
2021-06-12 11:46:37 +02:00
jens persson 4df9c4aae9 Add labels to Ottobody
Using the label interface, render identifying labels on the Ottobody
2021-06-11 22:29:59 +02:00
jens persson 2d262dacdd Allow labeling of parts
Add a parameter label to rectangularWall(), flangedWall(),
rectangularTriangle(), trapezoidWall(),  trapezoidSideWall() that is rendered
in red to identify parts, it is not ment to be cut or etched.
Added --labels flag to enable/disable rendering of labels.

Resolves: #316
2021-06-11 22:29:23 +02:00
Florian Festi ef94daa006 Add mouseover images for most groups
Resolves: #253
2021-06-05 18:25:53 +02:00
jens persson 9a46882c8f Add color selection to all holes
All methods that uses the holeCol decorator now take a parameter color.
Added semantic symbols for colors.
2021-06-03 21:40:11 +02:00