Commit Graph

1063 Commits

Author SHA1 Message Date
caleb crome 0b986eeb0c TrayLayout: Make generation a one step operation in the web UI
Add Java Script for generating the layout from sx and sy
Drop special handling in boxesserver
Add .UI attribute to Boxes class to allow behaving differntly on different UIs
Traylayout is still filtered out from Inkscape INX file generation
Slightly adjust layout format of GridfinityTrayLayout

Co-authored-by: Florian Festi <florian@festi.info>
2023-03-07 20:02:27 +01:00
Florian Festi b807cc99ff New generator: SevenSegmentClock 2023-03-07 20:00:50 +01:00
Florian Festi adef7eb612 New generator: SevenSegment 2023-03-07 19:57:50 +01:00
Florian Festi 9a5410983d .polygonWall(s): Allow None at the end to close the polygon
Resolves: #456
2023-03-04 18:59:07 +01:00
Rotzbua fa2b2fe466 Refactor generator `traylayout`
* Use generic argument `sx` and `sy` to generate text traylayout
* Add typing
* Fix code style
2023-02-28 13:47:11 +01:00
Florian Festi 122d365914 BirdHouse: Add overhang parameter
to allow making the roof bigger and better looking.
Declare stable by moving to "Misc"

Resolves: #414
2023-02-26 10:52:57 +01:00
Florian Festi 9a9499e405 UBox: Translate labels
as a first prove of concept
2023-02-25 15:57:38 +01:00
Florian Festi ea1ac786d5 Add Boxes.translations
to allow geenrators to translate things like labels, too.

Adds hidden language parameter to make sure the language selected gets
passed down to the generated drawing.
2023-02-25 15:55:06 +01:00
Florian Festi 090c21dc71 Add qr_code default parameter
that adds a QR code with the URL or CLI parameters to the drawing
2023-02-24 19:09:53 +01:00
Florian Festi b0c529725a Add .qrcode() 2023-02-24 19:09:53 +01:00
Florian Festi afbad13f51 Add short URL and CLI to rendered drawing 2023-02-24 19:09:53 +01:00
Florian Festi 0421aeb76a Calculate short url and command line
with only the changed parameters
2023-02-24 19:09:53 +01:00
Florian Festi b1af53eff0 Use full command line for converting file formats
and no longer rely on pstoedit being the only tool used

Use ps2pdf from GhostScript (which should already be needed by pstoedit)
for PDF as it supports keeping the page size from the eps file
2023-02-24 14:34:13 +01:00
Florian Festi b605693925 Create ESP instead of ps
as it supports BoundingBox and allows conversion to the right page size

Well, at least for PDF for now.
2023-02-24 14:32:34 +01:00
Florian Festi 08605d4598 Remove code from render() method that should no longer be there
as open() and close() is nowadays handled outside
2023-02-19 19:40:41 +01:00
Sergios Stamatis b66c9d970d Add photos for console generator (arcade stick) 2023-02-19 17:45:07 +01:00
Florian Festi 20dadbbb04 TrayLayout: Split render() into several methods
to allow better re-use in GridfinityTrayLayout.
Mirror the base plate of the GridfinityTrayLayout so the engravings
for the feet are on "the bottom".

Related: #533
2023-02-15 21:58:23 +01:00
Florian Festi a96a78f439 cc(): Add angle parameter
to allow placing the callbacks truly everywhere
2023-02-15 21:47:53 +01:00
Florian Festi 061d9e2bf0 HeartBox: Fix placement
Size caclulation is done properly nowadays. No need to fiddle with the
placement and mess things up.
2023-02-14 14:41:55 +01:00
Florian Festi 3e06ef3921 polygonWall: Make sure callback indexes are int
Was broken by 940cec1811

Resolves HeartBox failing

Thanks to noel hanback <https://hackaday.io/hacker/1310423-noel-hanback>
for reporting.
2023-02-14 14:37:46 +01:00
caleb crome bfc710698f Create a GridfinityTrayLayout object.
This is based on the TrayLayout2, but it designed to just give exactly
the correct size boxes to fit into a gridfinity system.

It has a modified TrayLayout setup, so it works in one step.  It uses
javascript to auto-generate the grid, which means it doesn't currently
work for Inkscape or command line.
2023-02-13 21:10:35 +01:00
Florian Festi 8b5fb877e7 polygonWalls: don't error out on empty borders list 2023-02-12 19:39:21 +01:00
Florian Festi 1ba33c8192 WallRollHolder: Fix side pieces 2023-02-12 15:04:43 +01:00
Florian Festi 790bc41871 RollHolder: move to WallMounted group 2023-02-12 15:04:43 +01:00
Florian Festi 702006d9ef New generator: Tetris
Tetris shapes
2023-02-12 13:29:58 +01:00
Florian Festi 940cec1811 polygonWall: Fix numbers of callbacks
They were off by a factor of two as they should be numberd by sides
while we also counted corners
2023-02-12 13:29:58 +01:00
Florian Festi 455f5ae69a Limit the number of drawing primitives to 100000
to avoid people trashing the server with too complicated drawings
2023-02-07 21:54:38 +01:00
Rotzbua 64dca171b4 extents: add types
* lint code
2023-02-07 20:08:20 +01:00
Rotzbua 8db417a134 dividertray: fix typos 2023-02-07 15:20:08 +01:00
Florian Festi 618fe78314 GrindfinityBase: Remove HTML link from __doc__ string
As it creates problems with the new gallery feature
2023-02-05 16:17:30 +01:00
caleb crome 4c9830315d Add a generic, text based front panel generator
This adds a front panel generator that lets you automatically generate
all the cutouts and text placements needed in a box.

Eventually, it might be great it integrate this kind of feature into the
box generators, but that sounds complicated.  At this point, I'm happy]
to have this.
2023-01-31 20:50:03 +01:00
Patrick van der Leer f954e4e857 PaintStorage: Add additional_bottom and additional_top option 2023-01-31 20:12:17 +01:00
Patrick van der Leer 98d6d949fa DisplayShelf: Add option for dividers 2023-01-30 15:31:49 +01:00
Florian Festi 4f01d071c3 SmallPartsTray2: Use defaults that actually work
Thanks to caleb crome <https://github.com/ccrome> for pointing this out!
Resolves: #527
2023-01-29 23:36:22 +01:00
Rotzbua f6fd3fce1c UIGroup: add typing 2023-01-28 17:12:20 +01:00
Florian Festi 05056e569b New generators: Spool and FilamentSpool 2023-01-24 23:10:34 +01:00
Rotzbua a4223623b5 edges: remove redundant `else return` 2023-01-23 20:40:43 +01:00
Rotzbua b2cee8de97 edges: migrate to f-string 2023-01-23 20:40:43 +01:00
Rotzbua 4a957c2f8b edges: add abstract 2023-01-23 20:40:43 +01:00
Rotzbua 71ddb11cee edges: add typing 2023-01-23 20:40:43 +01:00
Rotzbua 2a044e7829 edges: code style 2023-01-23 20:40:43 +01:00
Rotzbua 7cdb8749bf Migrate: use `@property` decorator 2023-01-23 16:33:00 +01:00
Rotzbua d894b94120 svgutil: add typing 2023-01-23 16:31:07 +01:00
Rotzbua b5e7a26260 svgutil: migrate to f-string 2023-01-23 16:31:07 +01:00
Rotzbua fe934e9375 svgutil: fix string prefix 2023-01-23 16:31:07 +01:00
Rotzbua 66cd7c871e svgutil: code style 2023-01-23 16:31:07 +01:00
Florian Festi 1b3a8a4b9a New generator: WallRollHolder 2023-01-19 23:31:01 +01:00
Florian Festi dfedb3f6cd TrayLayout: Use E edge if there is no floor
Resolves: #35
2023-01-17 20:56:33 +01:00
Florian Festi 25551ef8b1 CrossingFingerHoleEdge: Add outset parameter 2023-01-17 20:53:18 +01:00
Florian Festi 679ae8e198 RollHolder: declare stable 2023-01-17 18:59:54 +01:00