Wykres commitów

24 Commity (dd4e5c8e2344518d08ec76559e0ee8a1f8bfb327)

Autor SHA1 Wiadomość Data
Lex Neva ef45f4b740 Merge branch 'master' into lexelby/bugs 2018-12-18 20:23:04 -05:00
Lex Neva 1e0280db10
basic lettering GUI (#351) 2018-12-15 20:21:41 -05:00
Lex Neva 7a73b20115 tidy imports 2018-12-12 20:55:04 -05:00
Lex Neva 74e6dac011 avoid creating paths with empty 'd' in stitch plan (#363) 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 bdf98a7e91 handle SVGs without bounding box 2018-09-15 21:03:42 -04:00
Lex Neva 908f2cd772 pyflakes fixes 2018-08-21 21:43:09 -04:00
Lex Neva 038875f876 autopep8 2018-08-21 20:32:50 -04:00
Lex Neva 19bb8a5a6d new extension to add layer commands 2018-08-16 22:50:34 -04:00
Lex Neva 5f14617a02 choose better rung positions 2018-07-30 16:03:27 -04:00
Lex Neva 8d41d0f9af convert to satin extension 2018-07-30 14:57:54 -04:00
Lex Neva e0cecd6fa4 fix a couple crashes 2018-07-25 21:17:58 -04:00
Lex Neva d9033be6fc refactor out logic to gather node's transforms 2018-07-12 20:13:46 -04:00
Lex Neva 22102ee0e8 add CONNECTION_TYPE 2018-07-12 20:13:46 -04:00
Lex Neva e29096ee13 add commands framework 2018-06-21 15:41:06 -04:00
Lex Neva 406032c0f7 handle SVG with no width/height 2018-06-10 15:31:10 -04:00
Lex Neva 0348b03b91 add realistic boolean param to render_stitch_plan() 2018-05-30 22:25:05 -04:00
Lex Neva a9b834878b optimize path 2018-05-29 20:55:46 -04:00
Lex Neva d7d2328b59 tinker with rendering 2018-05-29 20:04:30 -04:00
Lex Neva 4c986117bf first attempt at realistic rendering 2018-05-29 20:04:30 -04:00
Lex Neva f0c8c6a27b don't do ties around the fake color change of a "STOP after" 2018-05-28 22:39:59 -04:00
Lex Neva 05daffb7e0 refactor everything out of lib/__init__.py 2018-05-01 21:21:07 -04:00