Modifications

Aller à : navigation, rechercher

Laserengraver dev

673 octets ajoutés, 30 novembre 2013 à 15:28
aucun résumé de modification
Au démarrage d'Inkscape, il y a désormais deux extensions dans le menu "Extensions > Laserengraver"
 
 
=== principe ===
 
D'après de que j'ai compris, une extension inkscape est une classe python qui hérite de la classe "inkex.Effect". Son constructeur (i.e. <tt>def __init__(self)</tt>) permet d'avoir accès aux paramètres définis dans le menu de l'interface graphique par l'intermédiaire du fichier .inx
 
=== ajout de paramètre dans le menu de laserengraver ===
 
Il suffit d'ajouter une entrée "param" dans le fichier "laserengraver_laser.inx" et la ligne correspondante dans les options de OptionParser.
 
=== comment ça marche ? ===
 
La fonction <tt>Laserengraver.get_info()</tt> récupère les données du svg et défini la liste des couches (<tt>Laserengraver.layers</tt>) et un dictionnaire contenant des chemins (<tt>Laserengraver.paths</tt>) avec les couches comme clés.
 
Les styles sont définis au niveau des chemins
 
for layer in layers:
if layer in paths:
for path in paths[layer]:
path
 
pour récupérer le style on utilise path.get('style') qui renvoi une chaîne de caractère qu'on peut parser avec stl2dic pour le mettre dans un dictionnaire. On a alors accès à la couleur de la ligne :
stl2dic(path.get('style'))['stroke']
 
== Astuces ==
=== bidouillage python pour avoir accès aux données de manière interactive ===
Après cela, on peut exécuter les extensions dans un terminal python et avoir accès au données produites.
 
=== principe ===
 
D'après de que j'ai compris, une extension inkscape est une classe python qui hérite de la classe "inkex.Effect". Son constructeur (i.e. <tt>def __init__(self)</tt>) permet d'avoir accès aux paramètres définis dans le menu de l'interface graphique par l'intermédiaire du fichier .inx
 
=== ajout de paramètre dans le menu de laserengraver ===
 
Il suffit d'ajouter une entrée "param" dans le fichier "laserengraver_laser.inx" et la ligne correspondante dans les options de OptionParser.

Menu de navigation