summaryrefslogtreecommitdiff
path: root/lib/elements/satin_column.py
AgeCommit message (Collapse)Author
2021-08-07fix more patch referencesLex Neva
2021-08-07move StitchGroup into lib.stitch_planLex Neva
2021-08-07Merge remote-tracking branch 'origin/main' into kaalleen/satin-patternsLex Neva
2021-08-07rename Patch to StitchGroupLex Neva
2021-07-29Fix typos (#1291)luzpaz
2021-06-30correctionsKaalleen
2021-06-29remove get_pattern from satin_columnKaalleen
2021-06-29update split patternKaalleen
2021-06-29everywhere patternsKaalleen
2021-06-28pattern markersKaalleen
2021-06-27group command extensionKaalleen
2021-06-27group patternsKaalleen
2021-06-22satin pattern and split stitchKaalleen
2021-04-15divide zero in satin column (#1151)Kaalleen
2021-04-13Extend Satin Rungs (#1130)Kaalleen
Co-authored-by: Lex Neva <github.com@lexneva.name>
2021-03-11add copyright headersLex Neva
2021-03-04Update for Inkscape 1.0 (#880)Kaalleen
* 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>
2020-03-16remove obselete compensation parameterLex Neva
2020-03-16new way better satin algoLex Neva
2019-08-05add Troubleshoot extension (#465)Kaalleen
adds an extension to help you understand what's wrong with an object and how to fix it, e.g. "invalid" fill shapes
2019-06-22fix styleLex Neva
2019-06-22fix IndexError for single-path satin columns (fixes #366)Lex Neva
2019-03-08don't do density compensation in underlayLex Neva
2019-03-01avoid gaps at the endLex Neva
2019-03-01compensate for non-parallel railsLex Neva
This uses some trig to try to reduce the excess density we were seeing with rails that expand or contract from each other. While I was in there I redid the satin algorithm, making it much simpler and less magical-seeming.
2019-01-17don't add jump stitches between satin column fill and top stitchingLex Neva
2018-12-18fix error messageLex Neva
2018-10-30new extension: Auto-Route Satin Columns (#330)Lex Neva
**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-09-29new extension: split satin (#315)Lex Neva
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-08-21more pep8 fixesLex Neva
2018-08-21autopep8Lex Neva
2018-08-09add tooltips to params (#262)Kaalleen
* add tooltips to params Closes #34
2018-07-27add E stitch for satin columnsLex Neva
2018-07-12generalize Element.shape and implement in all element typesLex Neva
2018-06-10error if satin column set for path with single subpathLex Neva
2018-05-01refactor everything out of lib/__init__.pyLex Neva
2018-05-01rename inkstitch/ to lib/Lex Neva
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.