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
Florian Festi
aba9631b00
Make joints of box sides go to the very bottom
...
for NotesHolder, TypeTray and UniversalBox.
The same should be done to many other boxes as soon as they get the
bottom_edge parameter
Resolves : #111
2019-12-14 14:18:38 +01:00
Florian Festi
8cb5a8e042
Check values of flex settings
2019-12-14 13:09:43 +01:00
Florian Festi
fe9555a79f
checkValues
2019-12-14 13:09:43 +01:00
Florian Festi
c5474e7488
DiscRack: Limit lower_factor and rear_factor to smaller than one
2019-12-14 12:23:08 +01:00
Florian Festi
024b574763
TrayLayout: Add default for layout param
2019-12-14 12:14:24 +01:00
Florian Festi
093e10a3ac
AngledBox: Use FingerJointSettings for vertical edges, too
2019-12-06 23:37:22 +01:00
Florian Festi
bd1db150c7
New geneator: SpicesRack
2019-11-29 19:58:27 +01:00
Florian Festi
182d222f01
Prevent not having any sections at all for argparseSections
2019-11-24 19:10:35 +01:00
Florian Festi
d2d97b01c9
grip(): Prevent division by zero
2019-11-24 16:42:47 +01:00
Marius Bergmann
9f8b84b3f1
add parameters for banana socket and flipswitch diameters
2019-11-20 11:57:13 +01:00
Marius Bergmann
2c367562a9
remove commented code
2019-11-20 11:57:13 +01:00
Marius Bergmann
90fdf897a9
formatting: whitespace cleanup
2019-11-20 11:57:13 +01:00
Florian Festi
c67d1f874c
StorageShelf: Add retainer_hole_edge param
...
to allow strengthening the retainer walls by using an h edge.
Also use a h edge on the bottom retainer wall if selected as bottom_edge.
2019-11-09 23:32:12 +01:00
Florian Festi
e8cda89381
StorageShelf: Fix holes for inner vertical walls
2019-11-09 23:31:26 +01:00
Florian Festi
71711baa1a
StorageShelf: Add retainer wall
...
This patch does not add finger joints to the vertical walls to attach the
retainer walls as the walls are likely to be to small to be able to make use
of them. In hte long run they should be added, though.
2019-11-09 17:10:23 +01:00
Florian Festi
0cdc930459
StorageShelf: Change front edge from E to e
...
This makes the shelf one thickness less deep - as it should be
2019-11-09 16:10:30 +01:00
Florian Festi
923798beb9
SBCMicroRack: Fix dowel diameter
2019-11-07 15:38:16 +01:00
Florian Festi
2860a32360
SBCMicroRack: Comment out unfinished fan parameter
2019-11-07 15:38:16 +01:00
Florian Festi
d9c190073b
SBCMicroRack: Don't draw bottom fingerholes twice
2019-11-07 15:38:16 +01:00
Florian Festi
af6c9be8f7
SBCMicroRack: Rearrange parts
2019-11-07 15:38:16 +01:00
gmorell
569eb2f49c
New generator: SBCMicroRack
2019-11-07 15:37:57 +01:00
Florian Festi
199251ae52
Add lid for StackableEdge (S) as top_edge
2019-11-04 17:13:12 +01:00
Florian Festi
83b5363bc8
StackableEdge: Fix margin for upper (S) variant
2019-11-04 17:05:18 +01:00
Florian Festi
4ac46840d2
NotesHolder: Fix various issues
...
Code for opening == 0.0 was broken (See #187 )
Fixed placement of bottom
Fixed margin of USlotEdge
Resolves : #187
2019-11-04 08:52:26 +01:00
Florian Festi
927f483c19
New generator: LaserHoldfast - A holdfast for honey comb tables
2019-10-19 23:47:44 +02:00
Florian Festi
e2cb90db89
NotesHolder: Split front into two pieces and set better default values
...
Resolves : #129
2019-10-19 21:49:43 +02:00
Florian Festi
b0b35d6084
Mention BurnTest in docs and in the burn parameter description
2019-10-19 12:29:56 +02:00
Florian Festi
cfbcbb065c
Clarify doc string for FingerJointSettings.play
2019-10-19 12:03:57 +02:00
Florian Festi
011024f0a4
TrayLayout: Add comment to clarify the purpose of the classes
...
Resolves : #179
2019-10-18 19:06:07 +02:00
Florian Festi
228335a993
BurnTest: fix part placement
2019-10-13 18:42:40 +02:00
Florian Festi
89ea774a39
New generator: BurnTest
2019-10-13 18:39:06 +02:00
Florian Festi
13ecfc9914
Support springs for finger joints (FingerJointSettings.style)
...
Resolves : #177
2019-10-11 22:32:57 +02:00
Florian Festi
f5ed90ca88
SlatwallWrenchHolder: Add extra_distance parameter for Jonas
2019-10-10 20:00:22 +02:00
Florian Festi
8afdfdf3f5
New generator: BaynonetBox
2019-09-23 23:44:02 +02:00
Florian Festi
877915eb74
Arcade: Make height of monitor and depth of keyboard adjustable
...
Resolves : #166
2019-09-23 21:42:57 +02:00
Florian Festi
d6495fc7b4
DrillBox: Fix font size
...
Now that the text() function has a fontsize parameter, setting the font size
on ctx before calling text() has no impact.
Resolves : #173
Thanks to Marko Luther for reporting and suggesting this fix!
2019-09-23 12:15:49 +02:00
Florian Festi
3ba90c517c
TrayLayout: Fix cli
...
TrayLayout was still trying to produce a drawing and failed. Now TrayLayout is
not using most of the infrastructure and only TrayLayout2 has the capacity to
create a drawing.
Resolves : #172
2019-09-22 22:37:33 +02:00
Florian Festi
b124c96c63
UnevenHeightBox: Use lid and bottom_egde for height calculation
...
when "outside" is set
2019-09-08 23:26:23 +02:00
Florian Festi
657b978aa0
StorageShelf: Use top and bottom_egde for height calculation with "outside" set
2019-09-08 23:26:23 +02:00