Commit Graph

731 Commits

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