Florian Festi
22a50a6181
PhoneHolder: Fix edge of second side being reversed
...
The code switched sides for each edges draen reversed. Change that to
only reverse local variables and leave the edge objects unchanged.
Thanks to https://github.com/ChrisLaserman for reporting!
Resolves : #324
2021-05-31 17:04:17 +02:00
Florian Festi
b344229c95
Add metadata to PostScript output
...
as title, creator and further comments.
Unfortunately pstoedit does drop these when converting to other
formats. A pity.
2021-05-29 10:55:36 +02:00
Florian Festi
be7115007d
SlatwallPinRow: Make it actually work
...
Remove finger joints from pinplate as there are not matching holes.
Move finger holes on back plate to right place.
2021-05-24 22:16:59 +02:00
Florian Festi
bdcad5ee27
New generator: SlattwallStairs
...
Renders a stair like structure that can house tools like screw drivers
if the proper holes or slots are added.
2021-05-23 13:00:52 +02:00
Florian Festi
538d5af99b
New generator: DoubleFlexDoorBox
...
Still untested and missing a sample image
2021-05-22 14:10:16 +02:00
Norbert Szulc
b0861bf937
Add platonic solid generator
...
Resolves : #254
2021-05-16 15:07:53 +02:00
jens persson
3a979bcfc6
Extend PaintStorage to make stackable drawers
...
Add an extra argument --drawer that changes it to a simple drawer
Co-authored-by: Florian Festi<florian@festi.info>
Resolves : #315
2021-05-16 14:58:18 +02:00
Florian Festi
eec53625f7
New generator: SlatwalPinRow
...
Angled pins to hang stuff from.
Still untested.
2021-05-15 15:45:44 +02:00
Florian Festi
072ff9b032
New generator: DrillStand
...
A stand-alone (no pun intended) version of the SlatwallDrillBox
2021-05-15 15:45:25 +02:00
Florian Festi
bdca0f1422
New StackableFeet edge without finger holes
...
first use of non ASCII edge char - what can you do...
2021-05-15 15:45:25 +02:00
Guillaume Collic
d478edd5d7
Add coffee capsule holder generator
2021-04-25 11:25:30 +02:00
Florian Festi
b132569219
SlatWallSettings: Add hook_depth setting to fit into other slot styles
...
Some are not as deep as the ones this was originally created for
2021-04-18 18:27:44 +02:00
Florian Festi
29183ed7ed
SlatWalls: Make pitch of the wall adjustable
...
Resolves : #312
2021-04-17 11:44:47 +02:00
Florian Festi
41165731c9
DisplayShelf: Fix calculations for negative angle values
2021-04-02 16:11:11 +02:00
Guillaume Collic
97d85ff10e
Add PhoneHolder
2021-03-22 22:45:55 +01:00
Mateusz Konieczny
3a3304de67
mention similar ones in burn test
2021-03-22 19:45:06 +01:00
Mateusz Konieczny
69bf15a682
serraded -> serrated typo
2021-03-22 19:41:33 +01:00
Mateusz Konieczny
9bdd5e4dda
mentioned ClosedBox and BasedBox in each other descriptions
2021-03-20 21:26:54 +01:00
Mateusz Konieczny
23ee7b3eb2
copy closedbox description to basedbox description as applicable
2021-03-20 21:26:54 +01:00
Mateusz Konieczny
000ba92106
fix typo in description
2021-03-20 21:26:54 +01:00
Mateusz Konieczny
e8fc07d33d
increase play in two piece to 0.15
...
note: I am very inexperienced, this is based on a single test (with 0.05 and 0.15 box) and advice from local expert
both apply to plywood
2021-03-17 15:24:46 +01:00
Florian Festi
7355d0d612
TrayLayout: Give more descriptive parse errors
...
Also allow both X and now also x for removed floor
2021-03-15 13:50:35 +01:00
Florian Festi
7397e49b2b
TrayLayout: Add description text
...
Resolves : #295
2021-03-15 13:50:35 +01:00
Mateusz Konieczny
21ca3d0b98
try to add explanation how burn test works
...
fixes #288
2021-03-02 14:12:42 +01:00
Guillaume Collic
3efd941ff1
Keyboard: 19.05 mm spacing is more standard than 19
2021-02-27 21:02:07 +01:00
Guillaume Collic
72c7fca53e
Keyboard: clean and column callback spacing default value
2021-02-27 21:02:07 +01:00
Guillaume Collic
61b85a6aed
Keyboard: add shared settings with new options
2021-02-27 21:02:07 +01:00
Guillaume Collic
0c89ad2b17
Keyboard: fix alignment in atreus21 and keypad
2021-02-27 21:02:07 +01:00
Guillaume Collic
0d4d4f308b
Keyboard: move common code to mixin (atreus21, keypad)
2021-02-27 21:02:07 +01:00
Guillaume Collic
ec8abee265
Atreus21: clean dead code and magic numbers
2021-02-27 21:02:07 +01:00
Mateusz Konieczny
44a9041427
attempt to make burn test description more newbieproof
...
fixes #284
2021-02-27 20:56:03 +01:00
Mateusz Konieczny
33917a6113
fix typo
2021-02-24 21:03:52 +01:00
Guillaume Collic
d694bd3241
Fix DividerTray length with 'outside=false'
2021-02-14 10:20:16 +01:00
Guillaume Collic
9642b9aacc
Add PaperBox
2021-01-28 13:59:47 +01:00
jomjol
eea27ee74d
Implementation of FlexSettings
...
Addding of FlexSettings to RoundedBox to adjust the flexibility setting for the corners
2020-12-29 22:29:27 +01:00
Florian Festi
e6dccc4135
StorageRack: Add pictures
...
Thanks to https://github.com/impellerturn for providing the images!
2020-12-29 15:33:27 +01:00
Florian Festi
34260e1b01
Castle: Actually add description
2020-12-29 15:18:37 +01:00
Florian Festi
8613c64b32
Also scale line width
...
This in practise only affects PostScript and derived formats - basically
everything except SVG
2020-11-19 23:23:39 +01:00
Guillaume Collic
b41a3114ca
AgricolaInsert: better thickness range support
2020-11-16 22:46:43 +01:00
Florian Festi
632a96676a
Fix typo in RoundedTriangleFingerHolesEdge
2020-11-11 00:35:22 +01:00
Florian Festi
7afe0329a2
MakitaPowerSupply: Dynamically calculate vent holes
2020-11-10 18:00:40 +01:00
Florian Festi
043f208213
AllEdges: Fix for new backend
2020-11-09 19:15:55 +01:00
Florian Festi
09b4de82de
MakitaPowerSuppy: Replace hyphens parameter names
2020-11-09 19:15:55 +01:00
Florian Festi
47d3600016
Add RoundedTriangleFingerHolesEdge (T)
2020-11-09 19:15:55 +01:00
Florian Festi
e5f88eda4c
Fix typo
2020-11-09 19:15:48 +01:00
Florian Festi
cdc89e3cde
SilverwareBox: Add missing stroke() command
2020-10-20 17:00:15 +02:00
Florian Festi
2d64dcccdf
Fix Context.curve_to
...
Didn't move to the end point properly in the new backend.
2020-10-20 17:00:15 +02:00
Florian Festi
90c783568f
OttoBody: Fix issue with HexHoles that broke the generator
...
Thanks to https://github.com/ottobot42 for reporting.
Resolves : #250
2020-10-19 21:00:38 +02:00
Florian Festi
adc3ec5210
Fix polygonWalls()
...
Not calling .stroke() now creates a error with the new backend.
Thanks to Michel27290 (https://hackaday.io/hacker/1123712 ) for reporting!
2020-10-16 11:38:30 +02:00
Florian Festi
dabab1880f
SpicesRack: Fix feet to support first level
2020-10-13 22:49:19 +02:00
Florian Festi
1dd567657e
Fix use of roundedPlate in Display and LaserClamp
...
Thanks to Guillaume Collic (https://github.com/gcollic ) for reporting!
Resolves : #248
2020-10-13 20:00:09 +02:00
Florian Festi
6dff8db710
Add alignment pins to BayonetBox
...
Also add a lower ring to the bayonet lid of the RegularBox limiting rotation
2020-10-13 16:07:31 +02:00
Florian Festi
f74e86c38f
BasedBox: Add description and point people to edge_width
2020-10-11 14:01:03 +02:00
Marcin Zukowski
dfc2f075d9
Adding Grooved Edge (z, Z), example use in UnevenHeightBox
2020-09-29 20:40:18 +02:00
Guillaume Collic
2a55183e50
AgricolaInsert: optimize player box generation layout
2020-09-20 12:37:29 +02:00
Guillaume Collic
9e83c2ad9b
Add AgricolaInsert box
2020-09-20 12:37:29 +02:00
Guillaume Collic
7495de72f7
DividerTray: refactor, and makes it easier to reuse
2020-09-20 12:37:29 +02:00
Guillaume Collic
eba63d9acb
Add option to do rectangular holes without centering them
2020-09-20 12:37:29 +02:00
Florian Festi
7fd4306664
Add h edge to top_edge parameter
...
Resolves : #244
2020-09-19 22:39:30 +02:00
Florian Festi
e35447e536
Fix FlexEdge to use separate path for the flex cut
...
to allow continous outlines for parts.
Resolves : #242
2020-09-15 17:44:58 +02:00
Florian Festi
3513cf88a8
Fix code closing paths to look at each section separately
2020-09-15 17:44:58 +02:00
Marcin Zukowski
f058ce68fb
Add --lid_height in UnevenHeightBox
2020-08-28 10:35:10 +02:00
Florian Festi
812b3ad59a
regularPolygonWall: Fix size calculation
2020-08-16 15:02:56 +02:00
Ba-So
d34d6ed987
fixed proper use of settings in paintbox.py
2020-08-15 09:47:40 +02:00
Ba-So
f6e2773810
fixed bug where the option hexpattern=True would cause an error.
2020-08-14 12:30:21 +02:00
Guillaume Collic
676772ee64
Clarify rectangularHole x,y parameters (center)
2020-08-13 00:38:54 +02:00
Florian Festi
a0c04d10ca
Add description to ClickSettings
2020-08-04 23:42:12 +02:00
Florian Festi
0980270dcf
RectangularWall: Fix list of available edge types
...
M -> N
2020-08-04 23:41:08 +02:00
Florian Festi
d3fa5ec0d4
UniversalBox: Add vertical_edges parameter
...
to allow finger hole joints for more stability
Fixes: whining by wu
2020-08-04 21:52:25 +02:00
Florian Festi
efe87c3e2e
TwoPiece: Add hi parameter to allow for lower inner wall
2020-08-04 19:33:11 +02:00
Florian Festi
bdc6a4c110
Add screwholes param to Boxes.NEMA()
2020-08-04 19:33:11 +02:00
Florian Festi
9bbca5419f
New generator: NemaPattern
2020-08-04 19:33:11 +02:00
Florian Festi
4d2db03dc4
New generator: FanHole
2020-08-04 19:33:11 +02:00
Florian Festi
59564a58a7
Only add "unless outside selected" if "outside" param is present
...
Void confusing users if outside param is missing but still be mentioned in
the help text.
2020-08-04 19:33:11 +02:00
Florian Festi
b8432e93af
New generator HexHoles
2020-08-04 19:33:11 +02:00
Florian Festi
e643e07b4d
Add HexHolesSettings class
...
to get rid of the settings tuple and to support changing them in the UI
Related: #33
2020-08-04 19:33:11 +02:00
Florian Festi
415b133822
Add new Hole Patterns group
2020-08-04 19:33:10 +02:00
Florian Festi
3dc5aa997c
Console: Fix for front_height == 0
...
Thanks to dougw (https://hackaday.io/hacker/885177-dougw ) for pointing
this out!
2020-07-23 16:19:56 +02:00
Florian Festi
262d7804a4
Console and Console2: Add outside parameter
...
Also rename hi param to front_height in Console
2020-07-23 16:13:59 +02:00
Florian Festi
402c04568e
DividerTray: Add Finger Joint Settings
...
Thanks to John Hildebrand https://hackaday.io/hacker/528106-john-hildebrand
for jointing out that they were missing!
2020-07-09 00:22:13 +02:00
Florian Festi
02a7299618
Fix text alignment attributes
...
Was broken for "left"
Resolves : #228
2020-07-04 23:56:37 +02:00
Florian Festi
2575cc39df
Add support for a bayonet mount lid to the RegularBox
...
Adjust BayonetBox to make the pieces usable from outside
2020-06-23 21:47:08 +02:00
Florian Festi
604ea923af
New generator: BasedBox
2020-06-22 19:57:18 +02:00
Florian Festi
ea0c9480e1
TriangleLamp: Fix hole position in front
2020-06-16 22:56:01 +02:00
Florian Festi
cd884c63bf
AngledBox: Add bottom_edge parameter
...
Also fix bug with non matching finger joints between side walls and
miss alignment of the bottom and top pieces
2020-06-03 21:56:55 +02:00
Florian Festi
ecaba08aa6
New generator: DinRailBox
2020-05-29 22:59:15 +02:00
Florian Festi
c5a35bd3ec
CardBox: Fix typo
2020-05-27 17:27:23 +02:00
Florian Festi
baf996764c
CardBox: Add building instructions
...
including a new picture of lid details by https://github.com/bwente
2020-05-26 18:07:17 +02:00
Stefan Schwarz
c065e154be
Generator for a split Atreus keyboard
2020-05-23 23:28:35 +02:00
Florian Festi
6cd6e1826e
Close paths in SVG back end
2020-05-23 15:03:16 +02:00
Florian Festi
07e53868f6
Remove duplicated "f" option in top_edge parameter
...
Thanks to Zhong for pointing this out!
2020-05-22 13:32:43 +02:00
Florian Festi
c978266906
DividerTray: Fix bottom edge for middle walls
2020-05-22 10:25:55 +02:00
Florian Festi
2fc59b48df
Remove reference to cairo
2020-05-18 22:30:28 +02:00
Florian Festi
46b1e8684f
Add estimate for extents of text
...
Fix adjustment of SVG coordinates
2020-05-18 22:30:28 +02:00
Florian Festi
95dc7f5731
Fix padding for SVG
2020-05-18 22:30:28 +02:00
Florian Festi
39e2b0cfc3
Split all arcs > 100° into smaller pieces
...
This is necessary to make the approximation with Bezier curves work
2020-05-18 22:30:28 +02:00
Florian Festi
3c94b4bf76
Don't try to draw arcs with an zero angle
...
Thanks to Bruno Ferrarese <https://github.com/bferrarese > for finding and
reporting this issue!
2020-05-18 22:30:28 +02:00
Florian Festi
6440bcb639
Get text working for both SVG and PS
...
Move coordiate translation to to finish() method
Use Latin1 encoding for text PS in output
Add Boxes.set_font() to support basic font styles:
serif, sans-serif and monospaced
in normal, bold, italic and both bold and italic
2020-05-18 22:30:28 +02:00
Florian Festi
492e7fb4dd
SVGSurface: Use horizontal and vertial lines
...
instead for just regular lines. This saves one number per point involved.
2020-05-18 22:30:28 +02:00
Florian Festi
9e08691e15
Remove SVG and PS post processing code
...
Remove Extend class from svgutil
2020-05-18 22:30:28 +02:00
Florian Festi
fddf78fcc3
Add metadata to the SVG files right away
2020-05-18 22:30:28 +02:00
Florian Festi
0594ee703d
Replace svgwrite with xml.ElementTree
2020-05-18 22:30:28 +02:00
Thomas Kalka
fd48e57f33
Implement new backend without cairo
...
by providing SVGSurface, PSSurface and Context classes
Disable post processing as we want to create proper files right away
2020-05-18 22:30:28 +02:00
Thomas Kalka
da0e390789
do not start holes with the corner
2020-05-18 22:30:28 +02:00
Florian Festi
89805b4804
New generator: SideDoorHousing
2020-05-12 21:54:59 +02:00
Florian Festi
6091cf955f
Comsole2: Move to Box group in the UI
2020-05-10 16:13:54 +02:00
Florian Festi
27264f8c08
New fingerHoleRectangle() function
2020-05-10 16:12:27 +02:00
Florian Festi
928be1620b
UniversalBox: Change default for outset to True
...
for edge with hinge eye (i) top_edge
2020-05-05 22:03:20 +02:00
Florian Festi
1f2d35082d
Console2: Properly name front_height parameter
2020-05-05 18:28:52 +02:00
Florian Festi
0acc9c2a38
Console2: Move back wall latch down
...
to reduce chance of it conflicting with the front panel
2020-05-05 18:13:03 +02:00
Florian Festi
05a7e02486
Console2: Images, descriptions and parameters for hatches
...
Add three new parameters: removable_backwall, removable_panel and glued_panel
that control which of the service hatches are present and how to attach
the front panel
2020-05-05 09:44:07 +02:00
Florian Festi
93273f2fc7
Console2: Improve and fix latches
2020-05-02 18:42:36 +02:00
Florian Festi
949c8d8324
Fix polygonWalls() for uneven number of walls and symetrical==True
...
For an uneven number of walls one needs to have two different edges
to be able to close the loop.
2020-05-02 00:43:33 +02:00
Florian Festi
e2d716aeb8
Console2: Fix bottom edge for front and back
2020-05-01 23:49:05 +02:00
Florian Festi
d45ccba307
New generator: Console2
2020-05-01 23:36:44 +02:00
Florian Festi
966a6c77cf
Add "rotated" to possible move terms
2020-05-01 23:35:55 +02:00
Florian Festi
54d4b6bebd
Console: Fix x, y confusion
2020-04-29 12:25:46 +02:00
Florian Festi
279b60abc8
New generator: Console
2020-04-28 22:25:47 +02:00
Florian Festi
9ea1d55a94
Add translate param
2020-04-20 16:30:33 +02:00
Stefan Schwarz
2f2256ec7d
Keypad support for CPG151101S11 hotplug sockets
2020-04-13 20:11:44 +02:00
Florian Festi
c4ca1b4dfa
Also translate Edge descriptions in ArgparseEdgeType
2020-04-13 18:45:17 +02:00
Florian Festi
f961cd533d
KeyPad: Improve parameter descriptions
2020-04-13 13:53:38 +02:00
Florian Festi
195c68c28f
Rail holes dist ( #213 )
...
* added EurorackSkiff Generator
* fixed holes distribution
2020-03-05 23:09:03 +01:00
Stefan Schwarz
3a14e1796b
Generator for keypads with mechanical switches
2020-03-04 20:24:47 +01:00
Florian Festi
0178a853c3
Add Inkscape style meta data to SVG output
2020-03-01 16:53:41 +01:00
Florian Festi
80edaf5ac4
New generator: BottleStack
2020-02-29 18:19:59 +01:00
Florian Festi
4c338e1c62
RoundedBox: Add edge_style parameter
2020-02-28 17:52:57 +01:00
Florian Festi
22450a6fe7
roundedPlate: Fix placement
2020-02-28 17:52:49 +01:00
Florian Festi
6476a51fc4
roundedPlate: Fix callback positioning
2020-02-28 17:52:49 +01:00
Florian Festi
223ac26122
roundedPlate: new extend_corners param
2020-02-28 17:52:18 +01:00
Florian Festi
26b33d62ff
roundedPlate: Properly lookup edge
2020-02-28 17:46:44 +01:00
Florian Festi
7c004e2d2c
New primitive: Boxes.step()
...
Outset a line by a given margin - negative values for insetting
2020-02-28 17:46:44 +01:00
Erwin Jansen
a0338a559f
Add a bottom to the divider tray.
...
This add support for the generation of a bottom for the divider tray.
The bottom can be generated by passing the --bottom=True flag.
This makes it possible to generate ./static/samples/DividerTray.jpg
2020-02-26 21:00:26 +01:00
Florian Festi
eeb1baf352
Gear: don't allow less than 2 teeth
2020-02-01 15:30:53 +01:00
Florian Festi
0394d418c1
dHole: Prevent division by zero
2020-02-01 15:30:18 +01:00
Florian Festi
7943fa2390
flex2D: Fix division by zero for too small patterns
2020-02-01 15:22:35 +01:00
Florian Festi
ec9d911142
DividerTray: Use ValueError instead of assert to treat this as wrong user input
2020-02-01 15:17:18 +01:00
Florian Festi
069dd853aa
BinTray: limit front parameter
2020-02-01 15:14:12 +01:00
Florian Festi
95f2fbeb82
corner(): Make more robust against division by zero
2020-02-01 15:03:49 +01:00
Florian Festi
2121228036
TrayLayout: Error out if tray is just a single wall
2020-02-01 14:51:38 +01:00
Florian Festi
f8401aac75
rectangularRectangle: Make angle calculation more robust
2020-02-01 14:43:45 +01:00
Florian Festi
2a7e1e62d1
PaintStorage: Prevent division by zero
2020-02-01 14:31:24 +01:00
Florian Festi
dd0f2d748c
ChestHingeSettings: check pin_height for minimal size
2020-02-01 14:27:17 +01:00
Florian Festi
0f3eb5b21a
StackableSettings: check angle for invalid values
2020-02-01 14:16:26 +01:00
Florian Festi
9706816fe4
gears: prevent division by zero
2020-02-01 13:59:30 +01:00
Stefan Reichhard
37bff9d358
fixed d3 diameter (mounting screw holes)
2020-01-22 16:11:18 +01:00
Florian Festi
1f3110c6fa
New generator: TriangleLamp
2020-01-21 21:34:02 +01:00
Florian Festi
10e2085eef
Remove Python 2 compat foo
2019-12-21 17:47:54 +01:00
Florian Festi
4d53bd17cc
partsMatrix: support width=0 for all parts in one row
2019-12-16 20:07:30 +01:00
Florian Festi
e2b87af2a4
UniversalBox: Add outside parameter
...
Fixes : #144
2019-12-14 19:13:40 +01:00