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