kopia lustrzana https://github.com/inkstitch/inkstitch
add embroider_update extension to convert old-style param names to new
rodzic
841e9196ba
commit
9805398644
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
||||||
|
<_name>Update embroidery param names</_name>
|
||||||
|
<id>lexelby.embroider.update</id>
|
||||||
|
<dependency type="executable" location="extensions">embroider_update.py</dependency>
|
||||||
|
<dependency type="executable" location="extensions">inkex.py</dependency>
|
||||||
|
<effect>
|
||||||
|
<object-type>all</object-type>
|
||||||
|
<effects-menu>
|
||||||
|
<submenu _name="Embroidery"/>
|
||||||
|
</effects-menu>
|
||||||
|
</effect>
|
||||||
|
<script>
|
||||||
|
<command reldir="extensions" interpreter="python">embroider_update.py</command>
|
||||||
|
</script>
|
||||||
|
</inkscape-extension>
|
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# Update embroidery parameters stored in XML attributes from old to new
|
||||||
|
# format.
|
||||||
|
|
||||||
|
import sys
|
||||||
|
sys.path.append("/usr/share/inkscape/extensions")
|
||||||
|
import os
|
||||||
|
import inkex
|
||||||
|
|
||||||
|
PIXELS_PER_MM = 10
|
||||||
|
|
||||||
|
class EmbroiderParams(inkex.Effect):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
inkex.Effect.__init__(self)
|
||||||
|
|
||||||
|
self.mapping = { "zigzag_spacing": "zigzag_spacing_mm",
|
||||||
|
"row_spacing": "row_spacing_mm",
|
||||||
|
"pull_compensation": "pull_compensation_mm",
|
||||||
|
"max_stitch_length": "max_stitch_length_mm",
|
||||||
|
"satin_underlay": "contour_underlay",
|
||||||
|
"satin_underlay_inset": "contour_underlay_inset_mm",
|
||||||
|
"satin_zigzag_underlay_spacing": "zigzag_underlay_spacing_mm",
|
||||||
|
"satin_center_walk": "center_walk_underlay",
|
||||||
|
"stitch_length": "running_stitch_length_mm",
|
||||||
|
}
|
||||||
|
|
||||||
|
def effect(self):
|
||||||
|
for node in self.document.getroot().iter():
|
||||||
|
for old, new in self.mapping.iteritems():
|
||||||
|
old = "embroider_%s" % old
|
||||||
|
new = "embroider_%s" % new
|
||||||
|
|
||||||
|
value = node.attrib.pop(old, None)
|
||||||
|
if value:
|
||||||
|
if new.endswith('_mm') and value.strip():
|
||||||
|
value = str(float(value) / PIXELS_PER_MM)
|
||||||
|
|
||||||
|
node.set(new, value)
|
||||||
|
|
||||||
|
if 'embroider_zigzag_underlay_spacing_mm' in node.attrib:
|
||||||
|
node.set('embroider_zigzag_underlay', 'yes')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
e = EmbroiderParams()
|
||||||
|
e.affect()
|
Ładowanie…
Reference in New Issue