Wykres commitów

220 Commity (main)

Autor SHA1 Wiadomość Data
Lex Neva 469c32a497 remove constants 2022-05-06 23:30:54 -04:00
Lex Neva 672bded125 shapely geoms fixes 2022-05-06 21:03:56 -04:00
Lex Neva a7153c52e2 best-effort rather than throwing exception 2022-05-06 20:42:11 -04:00
Lex Neva a275d49a24 tangential->contour, fix legacy, remove unused params 2022-05-05 22:53:31 -04:00
Lex Neva ff0e28d3e5 bugfix 2022-05-04 20:56:18 -04:00
Kaalleen e65aaebbca rebase corrections 2022-05-04 20:04:39 +02:00
Kaalleen 48d0a0250e undo build changes for depq, update clone 2022-05-04 19:19:54 +02:00
Lex Neva 330c6be787 refactor, tidy, and C901 fixes 2022-05-04 19:18:33 +02:00
Lex Neva aeeaf72338 wip 2022-05-04 19:18:33 +02:00
Lex Neva 5a69fa3e9c add double (fermat) spiral 2022-05-04 19:18:33 +02:00
Lex Neva 68ee0eea87 add clockwise option 2022-05-04 19:18:33 +02:00
Lex Neva 056a1cc45d fix start position in single spiral 2022-05-04 19:18:33 +02:00
Lex Neva 76ab319731 add avoid_self_Crossing option 2022-05-04 19:18:33 +02:00
Lex Neva 60fb7d0a9e fix more shapely deprecations 2022-05-04 19:18:33 +02:00
Lex Neva 8a1f70a6cd remove sample_linestring and point_transfer 2022-05-04 19:18:33 +02:00
Lex Neva bd8cb0d1ff use running_stitch instead for guided fill 2022-05-04 19:18:33 +02:00
Lex Neva e6fcf11035 fix some shapelydeprecations 2022-05-04 19:18:33 +02:00
Lex Neva fc3d05845a simpler, faster inner-to-outer algo 2022-05-04 19:18:33 +02:00
Lex Neva eefb3460e3 just go one direction 2022-05-04 19:18:33 +02:00
Lex Neva 899a15b8e1 4x speedup and simpler code 2022-05-04 19:18:33 +02:00
Lex Neva 0625f250c6 add missing polygonize() 2022-05-04 19:18:33 +02:00
Lex Neva e14fffb879 remove redundant cut() function 2022-05-04 19:18:33 +02:00
Lex Neva ff0aa68876 properly link holes to outers 2022-05-04 19:18:33 +02:00
Lex Neva e2ede5e456 get rid of "closest point" strategy 2022-05-04 19:18:33 +02:00
Lex Neva f019d39658 use running_stitch for single spiral 2022-05-04 19:18:33 +02:00
Lex Neva f4e1bbc7d7 way better corner handling for running stitch 2022-05-04 19:18:33 +02:00
Lex Neva ca5178fb99 more efficient angle calculation 2022-05-04 19:18:33 +02:00
Lex Neva 6ca1af0c88 avoid anytree dependency 2022-05-04 19:18:33 +02:00
Lex Neva cbcaa0ac0e faster method for single spiral ring interpolation 2022-05-04 19:18:33 +02:00
Lex Neva 920063b324 fix style 2022-05-04 19:18:33 +02:00
Lex Neva f4c47a8e22 generalize get_segments and process_travel_edges 2022-05-04 19:18:33 +02:00
Andreas f75c812aba replacing shapely parallel_offset by buffer 2022-05-04 19:18:33 +02:00
Andreas 6916a33716 bug fixing + introduction of min_stitch_distance parameter 2022-05-04 19:18:33 +02:00
Kaalleen 515ed3ea2f separate guided fill methods 2022-05-04 19:10:23 +02:00
Andreas d514eac819 adjusting namings 2022-05-04 19:07:04 +02:00
Kaalleen 82216b184c remove some pattern and marker mixups and some style issues 2022-05-04 19:04:44 +02:00
Andreas cc051bcdba removed double points at spirals 2022-05-04 18:59:11 +02:00
Andreas b5c7f637c1 minor changes 2022-05-04 18:59:11 +02:00
Andreas d445b38629 bug fixing+first spiral implementation 2022-05-04 18:59:11 +02:00
Andreas 8966fa1919 minor changes 2022-05-04 18:59:11 +02:00
Andreas e15bce1401 minor changes 2022-05-04 18:59:11 +02:00
Andreas 3caaae6938 bug fixing 2022-05-04 18:59:08 +02:00
Andreas 1a1939b5da Bug fixing + refactoring 2022-05-04 18:57:20 +02:00
Andreas 125db3f83b Applied style guide 2022-05-04 18:57:12 +02:00
Andreas 0fcf8bb97c added tangential and guided fill 2022-05-04 18:55:40 +02:00
Kaalleen 3514f878ee
multipart geometry in intersect region (#1475) 2022-01-23 08:36:07 +01:00
Lex Neva dd86500835 keep underlay, underpath, and border travel 2021-08-15 17:26:14 -04:00
Lex Neva b411305c67 use tags to decide which stitches to keep 2021-08-07 18:38:57 -04:00
Lex Neva b1af926ea6 add tags to fill stitches 2021-08-07 12:34:07 -04:00
Kaalleen 2f35a4a192
Fix Style Issues (#1154)
Co-authored-by: Lex Neva <github.com@lexneva.name>
2021-07-25 07:24:34 +02:00
Kaalleen 767ead9081
Delete Command Group on Auto-Route and Cut Satin (#1125) 2021-04-05 11:45:57 +02:00
Lex Neva 3b3f890c12 add copyright headers 2021-03-11 23:17:19 -05:00
Kaalleen e84a86d4ac
Update for Inkscape 1.0 (#880)
* update for inkscape 1.0
* add about extension
* Build improvements for the inkscape1.0 branch (#985)
* zip: export real svg not stitch plan
* #411 and #726
* Tools for Font Creators (#1018)
* ignore very small holes in fills
* remove embroider (#1026)
* auto_fill: ignore shrink_or_grow if result is empty (#589)
* break apart: do not ignore small fills

Co-authored-by: Hagen Fritsch <rumpeltux-github@irgendwo.org>
Co-authored-by: Lex Neva <github.com@lexneva.name>
2021-03-04 18:40:53 +01:00
Kaalleen f31e09312a
fix min_arg() is an empty sequence (#941) 2020-12-28 07:13:16 +01:00
Kaalleen a67eace2cd
inherit styles (#673) 2020-05-02 15:00:42 +02:00
Kaalleen 3199050876
Namespaced Attributes (#657) 2020-04-25 14:45:27 +02:00
Lex Neva 46dbe4668e actually split outline edge 2020-03-16 23:00:19 -04:00
Lex Neva c81c11eb53 ensure starting point is on the border 2020-03-16 23:00:19 -04:00
Lex Neva 9bb4686df7 fix NetworkXNoPath error 2020-03-16 23:00:19 -04:00
Lex Neva 502f20d6f8 avoid jumps when not underpathing autofill 2020-03-16 23:00:19 -04:00
Lex Neva 1f7c6a6c29 fix 'LineString has no method geoms' error 2019-08-15 22:49:37 -04:00
Kaalleen 077f7ea72b add Troubleshoot extension (#465)
adds an extension to help you understand what's wrong with an object and how to fix it, e.g. "invalid" fill shapes
2019-08-05 22:42:48 -04:00
Kaalleen d5e873f8c5
Merge pull request #481
show various bugs the door
2019-07-28 10:02:28 +02:00
Lex Neva e8bd745dfc handle single linestrings properly (fixes #471) 2019-06-22 18:13:01 -04:00
Lex Neva 43a385ea0a Merge branch 'master' into lexelby/lettering-features 2019-04-30 19:57:31 -04:00
Lex Neva 9d4441b700 remove unnecessary comparisons to None 2019-04-10 00:00:44 -04:00
Lex Neva a766e4e408 make error message more readable 2019-04-09 23:49:54 -04:00
Lex Neva 92541eb760 split up long function 2019-04-09 23:47:24 -04:00
Lex Neva f204366347 try harder to avoid traveling around the border 2019-04-04 19:58:35 -04:00
Lex Neva f5f0ce49a8 fix 'too many values to unpack' exception 2019-03-30 22:20:46 -04:00
Lex Neva 284ef6afcb avoid parsing forward slashes in docstring 2019-03-29 20:24:24 -04:00
Lex Neva 513850c975 add vertical travel edges for less jagged travel paths 2019-03-29 20:19:25 -04:00
Lex Neva 90a16fb7f9 more debug logging 2019-03-29 15:03:28 -04:00
Lex Neva 56f1d85647 add timing logging for auto-fill 2019-03-28 15:22:11 -04:00
Lex Neva f6e6d099d2 penalize outline edges more 2019-03-24 14:57:47 -04:00
Lex Neva cf6621d0dd make travel stitch prefer the center of the shape 2019-03-22 20:08:47 -04:00
Lex Neva 90fe045169 don't try to end inside the shape 2019-03-21 21:09:03 -04:00
Lex Neva 97ced89e87 switch to multigraph to avoid accidentally deleting outline edges 2019-03-20 22:41:57 -04:00
Lex Neva 1e5733bbcd add first stitch 2019-03-20 20:46:26 -04:00
Lex Neva 4c1f1bc2bb tidy up start/end travel code 2019-03-20 20:45:29 -04:00
Lex Neva 69df0271b5 protect against shapely error 2019-03-20 20:35:54 -04:00
Lex Neva 685df3b3f0 fix start/end at top or bottom of shape 2019-03-19 23:28:19 -04:00
Lex Neva 68590492f5 allow starting and ending on the border of a hole 2019-03-19 22:36:05 -04:00
Lex Neva 8520d4e63c avoid cutting corners 2019-03-19 20:26:25 -04:00
Lex Neva ba2b78d349 use blazing-fast STRtree for intersection detection 2019-03-19 20:02:42 -04:00
Lex Neva 2ba333c8a7 avoid putting underpathing on top 2019-03-18 20:57:05 -04:00
Lex Neva ec14fe7343 more cleanup 2019-03-14 21:54:51 -04:00
Lex Neva 200e2ac5f7 deduplicate and comment code 2019-03-14 21:46:44 -04:00
Lex Neva e616061e85 underpathing! 2019-03-14 21:02:47 -04:00
Lex Neva 30ea54dc6d tidy up the code a bit 2019-03-13 20:11:07 -04:00
Lex Neva 8323bd5f0f remove unused code 2019-03-13 06:18:27 -04:00
Lex Neva 8ffa9ca90e faster, simpler auto-fill algorithm 2019-03-12 23:03:22 -04:00
Lex Neva 0a06fa740c shapely.geometry -> shgeo for brevity 2019-03-12 22:32:56 -04:00
Lex Neva fb3c8186d2 lower trim threshold to 0.75mm 2019-03-08 20:06:36 -05:00
Lex Neva a14ed903cf auto satin should trim at the end too 2019-03-08 19:59:28 -05:00
Lex Neva 53a9bd6b31 add trims in stitches.auto_satin 2019-03-08 19:57:11 -05:00
Lex Neva fa3236372b fix style 2019-02-16 16:53:38 -05:00
Lex Neva be7d0af82d improve error message when trying to autofill tiny shapes 2019-02-16 16:53:38 -05:00
Lex Neva fdd9a74fd6 fix argument bug in auto-satin 2019-02-16 16:53:38 -05:00
Lex Neva 6a8edfc1cd fix crash if fill start and end points are very close 2019-01-04 20:22:10 -05:00
Lex Neva 04ed93cb25 ability to stitch a single-point running stitch path 2019-01-04 20:08:11 -05:00
Lex Neva 8f3c922011 fix style 2018-12-13 20:10:50 -05:00
Lex Neva 9ae97154d6 add option to skip last stitch in fill rows 2018-12-12 20:55:04 -05:00
Lex Neva f5c85183d9
basic lettering (#344)
Can handle multiple lines of text and routes the stitching in alternating directions on each line.
2018-11-14 20:23:06 -05:00
Lex Neva be833f898f
new extension: Auto-Route Satin Columns (#330)
**video demo:** https://www.youtube.com/watch?v=tbghtqziB1g

This branch adds a new extension, Auto-Route Satin Columns, implementing #214!  This is a huge new feature that opens the door wide for exciting stuff like lettering (#142).

To use it, select some satin columns and run the extension.  After a few seconds, it will replace your satins with a new set with a logical stitching order.  Under-pathing and jump-stitches will be added as necessary, and satins will be broken to facilitate jumps.  The resulting satins will retain all of the parameters you had set on the original satins, including underlay, zig-zag spacing, etc.

By default, it will choose the left-most extreme as the starting point and the right-most extreme as the ending point (even if these occur partway through a satin such as the left edge of a letter "o").  You can override this by attaching the new "Auto-route satin stitch starting/ending position" commands.

There's also an option to add trims instead of jump stitches.  Any jump stitch over 1mm is trimmed.  I might make this configurable in the future but in my tests it seems to do a good job.  Trim commands are added to the SVG, so it's easy enough to modify/delete as you see fit.
2018-10-30 17:43:21 -06:00
Lex Neva 8830eb7d40
new extension: split satin (#315)
This branch adds a new command to split a satin column at a specified point.  The split happens at a stitch boundary to ensure that the two resulting satins sew just like the original.  All parameters set on the original satin remain set on the two new satins, and all rungs are retained.  If one of the satins would have no rungs left, a new rung is added.

How to use:

1. Select a satin column (simple satin doesn't work)
2. Attach the "Satin split point" command using the "Attach commands to selected objects" extension.
3. Move the symbol (or just the connector line's endpoint) to point to the exact spot you want the satin to be split at.
4. Select the satin column again.
5. Run "Split Satin Column".
6. The split point command and connector line disappear, and nothing else appears to have happened.  Select your satin and you'll see that it's been split.

This extension is a by-product of my initial work on #214.  Ink/Stitch will need the ability to split a satin at an arbitrary point, and I figured, why not go ahead and release that functionality as an extension while I'm at it? :)
2018-09-29 14:00:36 -06:00
Lex Neva 944022ee53 proper running stitch for big row spacing 2018-09-10 23:04:08 -04:00
Lex Neva 908f2cd772 pyflakes fixes 2018-08-21 21:43:09 -04:00
Lex Neva 94f391ab42 more pep8 fixes 2018-08-21 20:50:14 -04:00
Lex Neva 038875f876 autopep8 2018-08-21 20:32:50 -04:00
Lex Neva ef17511c66 adjust magic number to 1.4 2018-08-17 15:28:19 -04:00
Lex Neva 80d8257e80 avoid cutting corners in auto-fill running stitch 2018-08-09 15:17:33 -04:00
Lex Neva cdb8fdb133 add bean stitch option 2018-07-27 20:26:18 -04:00
Lex Neva 3950be1316 tidy comments 2018-06-23 23:10:01 -04:00
Lex Neva 78efaf120f remove unnecessary travel back to start 2018-06-23 22:53:17 -04:00
Lex Neva e0a2b31ede fix collapse_sequential_outline_edges 2018-06-23 21:41:00 -04:00
Lex Neva b7cb98d277 end on the ending point 2018-06-23 20:07:20 -04:00
Lex Neva 49b8c9f00b fix two bugs in running stitch
* the first stitch was duplicated
  * the last stitch was omitted
2018-05-28 21:34:58 -04:00
Lex Neva 05daffb7e0 refactor everything out of lib/__init__.py 2018-05-01 21:21:07 -04:00
Lex Neva 1b31806423 rename inkstitch/ to lib/
You can't have a module and a package named the same thing.  PyInstaller wants
to import the main script as if it were a module, and this doesn't work unless
there's no directory of the same name with a __init__.py in it.
2018-05-01 20:37:51 -04:00