Modifications

Laserengraver dev

1 205 octets ajoutés, 30 novembre 2013 à 14:36
aucun résumé de modification
== modification de l'extension ==
 
= copier et renommer l'extension =
 
On souhaite faire une copie de l'extension pour pouvoir garder la version originale accessible.
Le fichier python (.py) contient le code principal. Le fichier .inx contient les infos pour intégrer l'extension à inkscape
J'ai choisi de renommer l'extention modifiée en ajoutant des suffixe suffixes "lo".
cd .config/inkscape/extensions
dans le fichier .inx, il faut modifier le champ "id" et le champ "_name" (remplacé "laser" par "lazer_lo") et remplacer toutes les occurrences de laserengraver.py par laserengraver_lo.py
 
Au démarrage d'Inkscape, il y a désormais deux extensions dans le menu "Extensions > Laserengraver"
 
= bidouillage python pour avoir accès aux données de manière interactive =
 
Pour avoir accès à une partie des données produites par l'extension (notamment trouver à quel moment on peut faire intervenir la couleur) on peut ajouter les librairies python de Inkscape à l'environnement python. Pour cela, il suffit d'ajouter /usr/include/inkscape/extensions à la variable d'environnement $PYTHONPATH
 
export PYTHONPATH=$PYTHONPATH:/usr/include/inkscape/extensions
 
 
= 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. def __init__(self)) 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.