Modifications

Aller à : navigation, rechercher

Laserengraver dev

433 octets ajoutés, 30 novembre 2013 à 15:48
aucun résumé de modification
== installation Installation de l'extention extension ==
Ubuntu 12.04
rm laseringraver.zip
== modification Modification de l'extension ==
=== copier Copier et renommer l'extension ===
On souhaite faire une copie de l'extension pour pouvoir garder la version originale accessible.
=== principe 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 Ajout de paramètre paramètres 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 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.
 
Le reste du process se déroule dans la fonction <tt>Laserengraver.laser()</tt> qui converti les chemins en "curve" puis génère le gcode avec la fonction <tt>Laserengraver.generate_gcode()</tt>. Cette fonction est appelée au niveau des couches, c'est donc plus facile de définir le changement d'outil au niveau des couches. Sinon il faut modifier les données dans l'objet "curve" et ça paraît un petit peu plus délicat.
 
Les styles sont définis au niveau des chemins
stl2dic(path.get('style'))['stroke']
 
== Astuces ==

Menu de navigation