inkscape.circlePacking/circle_packing.inx
2026-09-12 18:48:05 +02:00

77 lines
3.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>Remplissage par cercles (circle packing)</name>
<id>fr.alexp.circlepacking</id>
<param name="tab" type="notebook">
<page name="options" gui-text="Cercles">
<param name="shape_mode" type="optiongroup" appearance="combo"
gui-text="Forme déposée :">
<option value="circle">Cercle</option>
<option value="custom">Forme personnalisée (dernier objet sélectionné)</option>
</param>
<param name="min_radius" type="float" precision="3" min="0.001" max="10000"
gui-text="Rayon minimal :">1.0</param>
<param name="max_radius" type="float" precision="3" min="0.001" max="10000"
gui-text="Rayon maximal :">20.0</param>
<param name="gap" type="float" precision="3" min="0" max="10000"
gui-text="Écart entre cercles :">0.5</param>
<param name="margin" type="float" precision="3" min="0" max="10000"
gui-text="Marge intérieure au contour :">0.5</param>
<param name="unit" type="optiongroup" appearance="combo" gui-text="Unité :">
<option value="mm">mm</option>
<option value="cm">cm</option>
<option value="px">px</option>
<option value="pt">pt</option>
<option value="in">in</option>
</param>
</page>
<page name="algo" gui-text="Algorithme">
<param name="attempts" type="int" min="1" max="10000000"
gui-text="Nombre de tentatives :">20000</param>
<param name="max_circles" type="int" min="0" max="1000000"
gui-text="Nombre maximal de cercles (0 = illimité) :">5000</param>
<param name="seed" type="int" min="0" max="2147483647"
gui-text="Graine aléatoire (0 = aléatoire) :">0</param>
<param name="flatness" type="float" precision="3" min="0.001" max="10"
gui-text="Finesse d'échantillonnage des courbes :">0.2</param>
<param name="keep_original" type="bool"
gui-text="Conserver la forme d'origine">true</param>
</page>
<page name="help" gui-text="Aide">
<label xml:space="preserve">Sélectionnez une ou plusieurs formes fermées
(chemin, rectangle, cercle, ellipse, polygone),
puis lancez l'extension.
Les cercles générés héritent du style (fond, contour)
de la forme source et sont placés dans un groupe.
Forme personnalisée : collez la forme voulue dans le
document, sélectionnez les formes à remplir, puis
ajoutez le motif à la sélection en dernier (Maj+clic).
Le dernier objet sélectionné sert de motif, il n'est
pas rempli. Chaque copie est mise à l'échelle pour tenir
dans le disque calculé, orientée au hasard, et conserve
le style du motif.
Un plus grand nombre de tentatives augmente la densité
de remplissage mais allonge le temps de calcul.
Les sous-chemins internes sont traités comme des trous
(règle pair-impair).</label>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>
<submenu name="AlexDesign"/>
</effects-menu>
</effect>
<script>
<command location="inx" interpreter="python">circle_packing.py</command>
</script>
</inkscape-extension>