Wykres commitów

94 Commity (5fbd665fb96a2aeb815ac59404e7e4ae4761ff90)

Autor SHA1 Wiadomość Data
Lex Neva 5fbd665fb9 params GUI fixups 2016-11-19 21:45:47 -05:00
Lex Neva a7bfc17e7c rewrite of Embroidery Params into a full GUI app
The Embroidery Params filter now pops up a full GTK dialog.  This alows it to
load existing values in the selected shapes and present them to the user.  The
user can also load and save presets.

If selected shapes have differing values for a given param, the values are
presented in a dropdown so the user can select one to apply to all.
2016-11-19 16:11:24 -05:00
Lex Neva 1fedbc11b5 clean up PyEmb.Point 2016-11-12 14:05:09 -05:00
Lex Neva 055eb63bec avoid doubly multiplying by pixels_per_mm 2016-11-11 20:09:21 -05:00
Lex Neva 9d7a148f63 add caching decorator 2016-11-11 19:59:00 -05:00
Lex Neva b9637a9287 auto-fill: try to hide connecting stitches in the fill pattern
This lets us auto-fill regions with holes in it.  Just cut the region exactly
along the fill angle to convert a region with a hole to a region without.

This:
 __________________
|                  |
|      ______      |
|     |      |     |
|     |      |     |
|     |      |     |
|     |______|     |
|__________________|

Becomes this:
 __________________
|                  |
|      ______      |
|     |      |     |
|     |      |     |
 =====       |     |
|     |______|     |
|__________________|

The cut ( ===== ) is less than the width of the row spacing.  Any connecting
stitch that follows this path becomes hidden among the rest of the fill --
an extra row of stitching isn't visible so long as the staggers line up.
2016-11-09 22:00:14 -05:00
Lex Neva 6bbfbf6ef3 update TODO 2016-11-07 20:58:10 -05:00
Lex Neva a180cd7b16 don't do auto-fill for regions with holes 2016-11-07 20:55:12 -05:00
Lex Neva 45336a18dc fix fill underlay params 2016-11-06 20:00:28 -05:00
Lex Neva 78abc90459 fix bug in get_param 2016-11-06 19:47:01 -05:00
Lex Neva 50493add9e pep8 2016-11-06 19:30:49 -05:00
Lex Neva 6cdf990c76 add fill underlay settings to embroider_params and embroider_update extensions 2016-11-06 19:28:17 -05:00
Lex Neva a28dbd2c2d default to auto-fill 2016-11-06 19:19:41 -05:00
Lex Neva 247855cb57 start auto-fill at end of previous patch 2016-11-06 19:19:22 -05:00
Lex Neva 7e685222af add underlay option to auto-fill 2016-11-06 17:04:31 -05:00
Lex Neva e48a0f6556 pick closest starting point 2016-11-06 14:07:48 -05:00
Lex Neva b16f7de2fc WIP 2016-11-04 20:31:13 -04:00
Lex Neva 318da3bb18 WIP 2016-11-03 22:49:59 -04:00
Lex Neva 2d34bed8ad split out fill algorithm into a function 2016-11-03 21:21:55 -04:00
Lex Neva 9805398644 add embroider_update extension to convert old-style param names to new 2016-11-02 23:20:31 -04:00
Lex Neva 841e9196ba major refactor
Split into classes for Fill, Stroke, and SatinColumn.  Renamed params to be
the same across XML attributes and OptionParser.  Added distinct stitch length
params for satin underlay.  Renamed "satin underlay" to "contour underlay" and
split out "center walk underlay" and "zigzag underlay".

The code is ten times more readable, parameters make more sense, and everything
is specified by the user in millimeters.  Basically, everything is way better.
2016-11-02 23:20:31 -04:00
Lex Neva 9249a3ae77 pep8 fixes 2016-10-29 13:28:37 -04:00
Lex Neva 579ef18b56 remove obselete stitch order option 2016-10-28 22:12:03 -04:00
Lex Neva 14ec80d012 switch to millimeters and make pixels_per_millimeter an option 2016-10-28 22:10:54 -04:00
Lex Neva b63abea797 remove unnecessary imports 2016-10-28 21:52:48 -04:00
Lex Neva 46482bfd5e tidy 2016-10-27 22:35:47 -04:00
Lex Neva ae49143c3a studly caps to underscores (pep8) 2016-10-27 22:32:49 -04:00
Lex Neva f2bb136c75 inline reverseTuple 2016-10-27 22:31:59 -04:00
Lex Neva 752b34b4ea get rid of shapelyLineSegmentToPyTuple 2016-10-27 22:29:44 -04:00
Lex Neva 65cb5bf875 simplify polygon sorting 2016-10-27 22:09:59 -04:00
Lex Neva 696e3802ba remove hatching option 2016-10-27 21:59:46 -04:00
Lex Neva dbda3ed3e3 remove trailing spaces 2016-10-27 12:49:05 -04:00
Lex Neva fde8267ed0 tabs to spaces 2016-10-27 12:48:12 -04:00
Lex Neva 90e4cc2c8c big refactor to untangle embroidery from stitch generation 2016-10-26 15:04:15 -04:00
Lex Neva 7cb1b27a67 remove PatchList class and use a simple List 2016-10-26 13:40:00 -04:00
Lex Neva a1cd95b2c8 remove sortorder bits 2016-10-26 13:20:27 -04:00
Lex Neva a7ef582025 be sure to visit selected nodes in the right order 2016-10-26 13:13:27 -04:00
Lex Neva f81a70766f get rid of traveling salesman stuff
The algorithm was terrible.  In general, it seems to work a lot better to just
have the human choose what order things are stitched in than to try to
do it automatically.
2016-10-24 21:55:01 -04:00
Lex Neva 35d5077ca7 remove unused row_spacing_px option from EmbroideryObject 2016-10-24 21:28:19 -04:00
Lex Neva b06783a557 get rid of preamble code and feature
The code was poorly implemented and unclear.  I haven't ever had a need for
preamble.  I think my machine (brother SE400) might do it automatically.
2016-10-24 21:25:12 -04:00
Lex Neva 80c874ab3a remove unused functions 2016-10-24 21:07:24 -04:00
Lex Neva c40ae3cec3 tidy up Patch 2016-10-24 20:54:21 -04:00
Lex Neva afcd2d020a refactor satin a bit 2016-10-24 20:51:43 -04:00
Lex Neva de2cd9a30d proper zigzag underlay 2016-10-20 22:27:48 -04:00
Lex Neva 36085676c8 add center walk and zigzag underlay for satin
the code's a total hack, but it gets the job done
2016-10-19 21:43:23 -04:00
Lex Neva b70e0e7fa8 stuff 2016-10-19 20:47:30 -04:00
Lex Neva 6a23fe868b protect from foot-shooting by printing to stdout 2016-05-16 22:16:36 -04:00
Lex Neva 9f59051c97 add satin underlay and offset params 2016-05-16 22:09:04 -04:00
Lex Neva 4f5a719899 bugfixes 2016-05-16 22:08:50 -04:00
Lex Neva 0e18512947 add pull compensation for satin columns 2016-05-14 15:19:50 -04:00