273
modifications
Modifications
→Installation de l'extension
{{Projet|status=experimental|image= installation de |name=LaserEngraver / smoothieboard|description=adapter l'extention extension inkscape laserengraver pour générer du gcode pour la smoothieboard qui pilote un découpe laser|license= GPL|inspiration = http://www.instructables.com/id/Pocket-laser-engraver/step7/|contributeurs=LaurentM,Cedric|ingrédients=code|url=https://gitlab.com/PlateformeC/laserengraver_smoothie}}
* GCODES spécifiques relatifs à la gconfig de la smoothie : **Armement du laser***M10 : allume le laser***M11 : étiend le laser ** Contrôle de la puissance du laser*** c'est le paramètre S (c'est fait pour être utilisé avec les G1/G2/G3)*** Par exemple : G1 X100 F1200 S0.3 pour une découpe à 30% de la puissance avec une vitesse de 1200. * Possibilité d'associer des couleurs de traits à des couples vitesse/puissance ==Installation de l'extension = copier = Pour l'installation du plugin, il faut se référer à la page : [[Laserengraver|LaserEngraver]] == 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 (<tt>.py</tt>) 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 suffixes "lo_smoothie".
cd .config/inkscape/extensions
cp laserengraver_laser.inx laserengraver_laser_lolaserengraver_laser_smothie.inx cp laserengraver.py laserengraver_lolaserengraver_smoothie.py
Au démarrage d'Inkscape, il y a désormais deux extensions dans le menu "Extensions > Laserengraver"
=== 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 définis la liste des couches (<tt>Laserengraver.layers</tt>) et un dictionnaire contenant des chemins (<tt>Laserengraver.paths</tt>) avec les couches comme clés.
for layer in layers:
stl2dic(path.get('style'))['stroke']
== Astuces ==
Après cela, on peut exécuter les extensions dans un terminal python et avoir accès au données produites.
=== liens symboliques pour pouvoir travailler en dehors de .config/inkscape/extension ===
cd .config/inkscape/extensions
ln -s ~/Dev/laserengraver_smoothie/src/laserengraver_laser_smoothie.inx laserengraver_laser_smoothie.inx
ln -s ~/Dev/laserengraver_smoothie/src/laserengraver_smoothie.py laserengraver_smoothie.py