Commit Graph

791 Commits

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