Taux de remplissage en pourcentage, trajet de la tête en serpentin (plus proche voisin), hachures croisées, interface fr/en, tests et README. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
75 lines
3.9 KiB
XML
75 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Textes source en anglais, traduits par le catalogue « hachures »
|
|
(locale/<langue>/LC_MESSAGES/hachures.mo). Après toute modification
|
|
d'un texte : python i18n.py, puis compléter po/fr.po et relancer.
|
|
-->
|
|
<inkscape-extension translationdomain="hachures"
|
|
xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
|
<name>Hatch Fill</name>
|
|
<id>fr.alexp.hachures</id>
|
|
|
|
<param name="tab" type="notebook">
|
|
<page name="main" gui-text="Hatching">
|
|
<param name="density" type="float" precision="1" min="1" max="100"
|
|
gui-text="Coverage (% black):">30.0</param>
|
|
<param name="line_width" type="float" precision="3" min="0.01" max="100"
|
|
gui-text="Line width:">0.2</param>
|
|
<param name="unit" type="optiongroup" appearance="combo" gui-text="Unit:">
|
|
<!-- Les unités ne se traduisent pas -->
|
|
<option translatable="no" value="mm">mm</option>
|
|
<option translatable="no" value="cm">cm</option>
|
|
<option translatable="no" value="px">px</option>
|
|
<option translatable="no" value="pt">pt</option>
|
|
<option translatable="no" value="in">in</option>
|
|
</param>
|
|
<param name="angle" type="float" precision="1" min="-180" max="180"
|
|
gui-text="Angle (degrees):">45.0</param>
|
|
<param name="cross" type="bool"
|
|
gui-text="Cross-hatch (second pass at 90°)">false</param>
|
|
<param name="anchor" type="optiongroup" appearance="combo"
|
|
gui-text="Line alignment:">
|
|
<option value="shape">Centered on each shape</option>
|
|
<option value="origin">Document origin (lines continuous across shapes)</option>
|
|
</param>
|
|
</page>
|
|
|
|
<page name="style" gui-text="Style">
|
|
<param name="stroke_color" type="color" appearance="colorbutton"
|
|
gui-text="Line color:">255</param>
|
|
<param name="keep_original" type="bool"
|
|
gui-text="Keep the original shape">true</param>
|
|
</page>
|
|
|
|
<page name="help" gui-text="Help">
|
|
<!-- Schéma généré par docs/schema_parametres.py, en anglais :
|
|
Inkscape ne traduit pas le chemin d'une image. Affiché aux
|
|
3/4 du PNG (900 px) pour limiter la hauteur de l'onglet. -->
|
|
<image width="675" height="617">images/parameters_en.png</image>
|
|
<separator/>
|
|
<!-- Un paragraphe par ligne : Inkscape le replie à la largeur de
|
|
l'onglet ; des retours à la ligne forcés le laisseraient étroit. -->
|
|
<label xml:space="preserve">Select one or more closed shapes (groups are fine), then run the extension. Each shape is filled with parallel hatching; holes (even-odd rule) stay empty.
|
|
|
|
Coverage is the share of the area that ends up black: the spacing between lines is derived from it and from the line width, so 100 % gives touching lines and 10 % widely spaced ones. Set the line width to the width of your laser beam.
|
|
|
|
The lines are ordered for the laser head: each line ends close to where the next one starts, so the head zigzags across the shape instead of travelling back to the same side. All lines are written in that order into a single path (the "Laser path" object); keep it as is when exporting.
|
|
|
|
Cross-hatch adds a second pass at 90° from the first; the spacing is doubled so the coverage stays the same.
|
|
|
|
The result is placed in a group above the original shape.</label>
|
|
</page>
|
|
</param>
|
|
|
|
<effect>
|
|
<object-type>all</object-type>
|
|
<effects-menu>
|
|
<submenu name="AlexDesign"/>
|
|
</effects-menu>
|
|
</effect>
|
|
|
|
<script>
|
|
<command location="inx" interpreter="python">hachures.py</command>
|
|
</script>
|
|
</inkscape-extension>
|