summaryrefslogtreecommitdiff
path: root/embroider_params.py
diff options
context:
space:
mode:
Diffstat (limited to 'embroider_params.py')
-rw-r--r--embroider_params.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/embroider_params.py b/embroider_params.py
new file mode 100644
index 00000000..648c9744
--- /dev/null
+++ b/embroider_params.py
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+#
+# Set embroidery parameter attributes on all selected objects. If an option
+# value is blank, the parameter is created as blank on all objects that don't
+# already have it. If an option value is given, any existing node parameter
+# values are overwritten on all selected objects.
+
+import sys
+sys.path.append("/usr/share/inkscape/extensions")
+import os
+import inkex
+
+
+class EmbroiderParams(inkex.Effect):
+ def __init__(self, *args, **kwargs):
+ inkex.Effect.__init__(self)
+
+ self.params = ["zigzag_spacing",
+ "running_stitch_length",
+ "row_spacing",
+ "max_stitch_length",
+ "repeats",
+ "angle",
+ "hatching",
+ ]
+
+ for param in self.params:
+ self.OptionParser.add_option("--%s" % param, default="")
+
+ def effect(self):
+ for node in self.selected.itervalues():
+ for param in self.params:
+ value = getattr(self.options, param).strip()
+ param = "embroider_" + param
+
+ if node.get(param) is not None and not value:
+ # only overwrite existing params if they gave a value
+ continue
+ else:
+ node.set(param, value)
+
+if __name__ == '__main__':
+ e = EmbroiderParams()
+ e.affect()