Commit Graph

139 Commits

Author SHA1 Message Date
Wayne Wylupski c5d434105b Add svg_Ponoko output format
This is just regular SVG with Ponoko-specific line properties
Yes, the lines are too thin to be seen in a regular web browser.

Resolves: #112
2019-02-03 16:30:28 +01:00
Wayne Wylupski abacdd486e Implement proper color handling
Avoid accessing Boxes.ctx (the cairo context) all over the code.
Have named colors
2019-02-03 16:28:02 +01:00
Wayne Wylupski c573914bcd Add Boxes.saved_context() context manager
Avoid directly accessing Boxes.ctx (the cairo context) all over the place.
Also have a more modern API for returning to a previous spot.
2019-02-03 16:25:31 +01:00
Florian Festi 2747d9719a Add RoundedTriangleEdge to top_edges 2019-01-12 00:00:55 +01:00
Florian Festi 31fd0024ee Add RoundedTriangleEdge t
Based on the Caddy generator by bobm123 in the PR #14
(https://github.com/florianfesti/boxes/pull/14)

Edge will be added to the TypeTray generator to achieve similar results as Caddy

Co-authored-by: bobm123 <bobm123@gmail.com>
2019-01-11 23:56:28 +01:00
Florian Festi 73050d4969 Make .continueDirection() more private 2018-12-22 17:23:33 +01:00
Florian Festi 4d2592fecf Add e edge to bottom_edge selection 2018-12-08 18:22:13 +01:00
Florian Festi fd956d1f08 rectangularHole(): clamp corner radius to available space 2018-12-08 12:42:36 +01:00
Florian Festi ed6855d79c RoundedPlate: Call first callback only once
Remove left over call to .cc()
2018-11-09 21:01:00 +01:00
Florian Festi a4b5af98e2 Add new "mirror" key word to the where parameter of Boxes.move() 2018-10-19 19:05:07 +02:00
Florian Festi c45b5cd30b Add debug rectangle for move commands 2018-10-19 18:58:29 +02:00
Florian Festi db16b16533 .rectangularWall(): Fix placement for hex holes enabled by holesMargin param 2018-09-13 09:23:56 +02:00
Florian Festi 9ad64a1764 Boxes.buildArgParser: Update doc string 2018-09-10 10:00:02 +02:00
Florian Festi 259834a983 ArgparseEdgeType: Add doc string 2018-09-10 10:00:02 +02:00
Florian Festi 84df48ba1d Add units (mm) to the tabs param description 2018-09-10 10:00:02 +02:00
Rotzbua 84ce484f93 [doc] add hint to disable reference 2018-09-08 15:33:09 +02:00
Florian Festi 3767598d5d Fix placement of rectangularHole() which was off by one burn 2018-08-27 15:09:17 +02:00
Florian Festi 897fc23029 Doc string for Boxes.flex2D() 2018-08-23 23:28:24 +02:00
Florian Festi 6c43f4a382 Doc string for Boxes.TX() 2018-08-23 23:28:20 +02:00
Florian Festi a99094b8d7 Doc string for Boxes.partsMatrix() 2018-08-23 23:27:35 +02:00
Florian Festi 46175dde11 Fix url params for checkboxes when re-opening an input form
Thanks to Rotzbua for pointing the issue out!
2018-08-16 08:54:52 +02:00
Florian Festi af7f29c51f Add (wall)pieces param to roundedPlate() and surroundingWall() 2018-08-06 19:46:23 +02:00
Florian Festi 05c41be4d1 Remove or comment debugging outputs 2018-07-24 20:36:13 +02:00
Florian Festi 2c7f9f4dc0 UniversalBox: Add f and F as possible top_edge types 2018-07-02 19:07:26 +02:00
Sebastian Reichel d75ea78196 Add support for specifying font color/size 2018-06-27 21:48:35 +02:00
Florian Festi 924372f79d Use a minimal line width (0.05mm) even for very small burn values
to keep the lines visible in these cases.
2018-05-17 11:27:58 +02:00
Florian Festi 2828a85725 Add flatHole() for shafts that are flattened on both sides. 2018-05-05 19:08:37 +02:00
Florian Festi 65358c9fad Add hint to outside param to nominally inner sizes 2018-04-05 22:55:23 +02:00
Florian Festi 211e302b41 Fix devision by zero for zero lengths 2018-02-10 21:00:08 +01:00
Florian Festi 6ef43a8f48 Add flangedWall() and use it in the ElectronicsBox 2018-02-03 21:52:12 +01:00
Florian Festi 8314a413fd Fix placement of rectangularTriangles 2018-01-21 16:48:43 +01:00
Florian Festi 4e034949d3 Fix tabs for straight edges (eE) with bed bolts
Add tabs param to bedBoltHole
2018-01-19 23:48:27 +01:00
Florian Festi ce240105a8 Add tabs param to hole() 2017-12-20 18:25:55 +01:00
Florian Festi c02cc1e95c Add tabs to corner 2017-12-20 18:25:55 +01:00
Florian Festi d2496df3bb Boxes.moveArc() 2017-12-20 18:25:44 +01:00
Florian Festi e5bb6a5d7a Add tabs to Boxes.edge() and most Edge classes
and Boxes.polyline()

Add to some parts of the Otto Bot
2017-12-15 16:45:32 +01:00
Florian Festi 1b2f5791bd Use Boxes.description in the cli help and the web interface 2017-11-30 22:48:02 +01:00
Daniela Festi fa9ac678c0 Added variables for description of generators to main class 2017-11-30 22:46:35 +01:00
Florian Festi eb07c927c4 Support multi line .text() 2017-11-22 21:32:04 +01:00
Florian Festi 90078049f8 Also support d (diameter) param for Boxes.hole() 2017-11-15 17:19:41 +01:00
Florian Festi 64c980817b Manully select font face 2017-09-19 22:53:27 +02:00
Florian Festi ab750077fa .partsMatrix(): Do not error out for zero or negative parts count 2017-08-28 23:10:56 +02:00
Florian Festi 93b94d6e70 Fix move="right" for partsMatrix 2017-08-07 17:08:16 +02:00
Florian Festi abb7706b6d Python2 compat for Inkscape 2017-05-14 21:47:49 +02:00
Florian Festi 770b3dc02f Add .dHole() 2017-05-05 16:52:42 +02:00
Florian Festi 07ede0a5c5 Add support for "only" in the move param of .partsMatrix() 2017-05-04 21:41:18 +02:00
Florian Festi 9bf9922d28 Stroke in move after part is completed 2017-05-04 21:41:18 +02:00
Florian Festi 3822cc4882 Add TX holes 2017-05-04 21:41:18 +02:00
Florian Festi bffd732c3f scripts/boxes: Use generator classes instead of main functions
Make Boxes.parseArgs more robust
--list generators by UI group.
Pass arguments explicitly instead of fiddling with sys.argv
2017-04-05 04:33:28 +02:00
Florian Festi c7490155f7 Add nema_mount default parameter
Make nema_sizes available outside of NEMA() function.
This whole stuff should probably move into it's own file/class at some point
2017-03-29 07:38:10 +02:00