Inkscape: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(ancXmlAttribute: xml element um tag erweitern)
(ancXmlAttribute: xml element um tag erweitern)
Zeile 9: Zeile 9:
  
 
'''folgende links haben mir dabei geholfen'''
 
'''folgende links haben mir dabei geholfen'''
 +
* [http://www.hoboes.com/Mimsy/hacks/write-inkscape-extension-create-multiple-duplicates/ Write an Inkscape extension: create multiple duplicates]
 
* [http://docs.python.org/2/library/xml.etree.elementtree.html 19.7. xml.etree.ElementTree — The ElementTree XML API]
 
* [http://docs.python.org/2/library/xml.etree.elementtree.html 19.7. xml.etree.ElementTree — The ElementTree XML API]
 
* [http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial PythonEffectTutorial]
 
* [http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial PythonEffectTutorial]

Version vom 18. November 2013, 21:15 Uhr

extensions

ancXmlAttribute: xml element um tag erweitern

was macht diese Extension und wodurch zeichnet sie sich aus

  • diese extension ist Beispielhaft und minimal
  • sie soll ein ausgewähltes Element einfach ein Attribut anfügen und einen übergebenen wert zuweisen


folgende links haben mir dabei geholfen

Installation

  • damit sie läuft müssen folgende beiden Dateien in eines von den beiden Verzeichnissen kopiert werden
    • /usr/share/inkscape/extensions/
    • .config/inkscape/extension/


ancXmlAttribute.inx

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
	<_name>xml Attribute setzen</_name>
	<id>org.inkscape.ancXmlAttribute</id>
	
	<dependency type="executable" location="extensions">inkex.py</dependency>
	
	<param name="kindof" type="enum" _gui-text="Attribut Wert">
		<_item value="">...</_item>
		<_item value="text">Text</_item>
		<_item value="image">Bild</_item>
		<_item value="qrcode">qrcode</_item>
		<_item value="calendar">Kalender</_item>
	</param>

	<effect>
		<object-type>all</object-type>
		<effects-menu>
			<submenu _name="netz.coop"/>
		</effects-menu>
	</effect>

	<script>
		<command reldir="extensions" interpreter="python">ancXmlAttribute.py</command>
	</script>

</inkscape-extension>

ancXmlAttribute.py

#!/usr/bin/env python
import sys
sys.path.append('/usr/share/inkscape/extensions')
import inkex
from simplestyle import *

class C(inkex.Effect):
    def __init__(self):
        inkex.Effect.__init__(self)
        self.OptionParser.add_option(
			"-k", 
			"--kindof",
			action="store", 
			type="string", 
			dest="kindof", 
			default="text",
			help="spv3 Objektart:"
		)

    def effect(self):
		if self.selected:
			for id, node in self.selected.iteritems():
				node.set('ancXmlAttribute', self.options.kindof)

effect = C()
effect.affect()