Commit Graph

191 Commits

Author SHA1 Message Date
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 2fc59b48df Remove reference to cairo 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 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 fddf78fcc3 Add metadata to the SVG files right away 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 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 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 966a6c77cf Add "rotated" to possible move terms 2020-05-01 23:35:55 +02:00
Florian Festi c4ca1b4dfa Also translate Edge descriptions in ArgparseEdgeType 2020-04-13 18:45:17 +02:00
Florian Festi 0178a853c3 Add Inkscape style meta data to SVG output 2020-03-01 16:53:41 +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
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 95f2fbeb82 corner(): Make more robust against division by zero 2020-02-01 15:03:49 +01:00
Florian Festi f8401aac75 rectangularRectangle: Make angle calculation more robust 2020-02-01 14:43:45 +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 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
Florian Festi b0b35d6084 Mention BurnTest in docs and in the burn parameter description 2019-10-19 12:29:56 +02:00
Florian Festi 52484b0d55 adjustSize(): add support for edge chars 2019-09-08 23:26:23 +02:00
Marko Luther ca1a3575d0 forward holesSettings to hexHolesRectangle from within rectangularWall 2019-07-21 01:21:55 +02:00
Florian Festi fff74cf382 Add metadata as a xml comment
Resolves #66
2019-07-07 13:43:04 +02:00
Florian Festi 6c85ae7ea2 Add trapezoidSideWall() that supports radius param for additional strength 2019-06-21 23:16:59 +02:00
Florian Festi 6a809e17e7 Move trapezoidWall() from UnevenHeightBox to Boxes class 2019-06-21 21:37:57 +02:00
Florian Festi 01ca56fdce Support all different section syntaxes (sx, sy, ...) side by side 2019-06-21 21:37:57 +02:00
Germain Lemasson e8e248994b Add a StorageSelf generator. This is a shelf for storing TypeTray boxes.
It is based on TypeTray generator. The sh parameter replace the sx parameter.
It is not a subclasse of TypeTray in order to have the top and bottom at
the right place.
2019-06-01 12:52:34 +02:00
Florian Festi 46157b2030 Add .mirrorX() and .mirrorY() wrappers
These are especially useful for warpping callbacks.
2019-05-11 17:17:11 +02:00
Florian Festi f22be6f6d5 Fix polygonWalls for inner corners 2019-04-14 18:17:09 +02:00
Florian Festi 0b781ce7ef Add turtle param to polygonWall
to allow using it as turtle graphic command instead of a part
2019-04-14 18:17:09 +02:00
Florian Festi dc11929258 Fix _polygonWallExtend for corners with negative angles 2019-04-14 18:17:09 +02:00
chrysn 95dba0dee7 box: raise NotImplementedError
NotImplemented is a sentinel for comparisons; encountering this as an
exception would result in a meta-error.
2019-04-10 17:56:12 +02:00
Florian Festi 7aec26e893 New .polygonWall() part
Similar to .polyline() but with (f) edges on the outside
.polygonWalls draws the surrounding walls
2019-03-24 21:50:36 +01:00
Florian Festi 4f4d947253 .corner(): Fix tabs for small arcs 2019-03-24 21:50:11 +01:00
Florian Festi f178215f20 .corner(): Also accept (angle, radius) tuples 2019-03-24 21:50:11 +01:00
Martin Müller fb4791f803 Fix typo in help text for tabs 2019-02-26 00:02:30 +01:00
Florian Festi 8640514daf Omit reference for svg_Ponoko format 2019-02-14 21:36:54 +01:00
Florian Festi 81708bbbca .polyline: mention tabs feature in doc string 2019-02-14 17:32:59 +01:00
Florian Festi 3a0e34eed8 Fix NutHole which broke after switching over to saved_context 2019-02-14 17:31:56 +01:00
Florian Festi 679234afd3 Fix docstrings of .open() and .close() to match new use pattern 2019-02-13 09:04:57 +01:00
Florian Festi 9b1ce265bf Make docstrings ready for autodoc 2019-02-13 09:01:20 +01:00
Florian Festi 0d07f48b7f Remove .open() call from the .render() method
Having this call there was necessary in the past as the open() method would
need the canvas size as a parameter. This is now determined automatically
after rendering.

Still calling open() is deprecated but won't result in an error.
2019-02-08 17:43:15 +01:00
Florian Festi 861c8451e2 Remove call to .close() from .render() method
There is really no need for all the generator to care
Still calling it is deprecated but won't result in an error
2019-02-08 17:32:04 +01:00