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
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