Commit Graph

694 Commits

Author SHA1 Message Date
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