Masquer et Afficher un Calque précis en ligne de Commande

Inkscape est un logiciel de dessin vectoriel basé sur le format SVG.
Répondre
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Masquer et Afficher un Calque précis en ligne de Commande

Message par Titilechat1 »

Bonjour tous le monde,

Cherchant depuis plusieurs jours, mais ne trouvant pas la solution à mon problème, je viens vers vous.
Je désirerais en ligne de commande ( script Batch ) masquer un calque puis en afficher un autre. Cependant je n'y arrive pas.
J'ai réussi a masquer ou afficher tous les calques mais pas un précis. Avez-vous des idées ?


J'ai essayé sans succes :

Code : Tout sélectionner

inkscape Postes.svg -w --select=g4910 --verb=LayerToggleHide
avec 'g4910' obtenu en affichant mon SVG dont voici un extrait:

Code : Tout sélectionner

  <g
     style="display:inline"
     inkscape:label="Poste1"
     id="g4910"
     inkscape:groupmode="layer"
     sodipodi:insensitive="true">
    <rect
       inkscape:export-ydpi="100.8"
       inkscape:export-xdpi="100.8"
       inkscape:export-filename="C:\Users\XXX\XXX\XXXX\XXXxX.png"
       ry="3.9570615"
       y="31.060795"
Il semblerai que sélectionne pas le calque mais seulement les objets contenu. Mais je ne sais pas comment faire. Et Notre ami Google semble Sec sur ce sujet :/

Merci pour vos réponses à venir. :)
undertaker
Messages : 1498
Inscription : 05 janv. 2005, 19:58
Localisation : LIEGE - BELGIQUE

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par undertaker »

Bonjour Titilechat1,

Si tu ouvres l'éditeur xml de Inkscape, tu peux voir les références des calques avec leur indice ainsi que le nom qui leur a été donné.
https://drive.google.com/file/d/0B1uwVu ... sp=sharing

En utilisant ces références dans ton code, tu peux accéder à un calque précis.
A+
COGITO ERGO SUM.
Linux DEBIAN 10, Inkscape 0.92, Scribus 1.4.8 et aussi Gimp, Blender, ...
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par Titilechat1 »

Merci pour votre réponse.

J'ai essayé de mon coté (adapté à votre exemple):

Code : Tout sélectionner

inkscape Postes.svg -w --select="Gabarit" --verb=LayerToggleHide

Code : Tout sélectionner

inkscape Postes.svg -w --select="layer1" --verb=LayerToggleHide

Code : Tout sélectionner

inkscape Postes.svg -w --select=layer1 --verb=LayerToggleHide
Pouvez-vous me donner un exemple de commande fonctionnel ?

Malgré ces essais, rien y fait. :/
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par Titilechat1 »

Up !
jazzynico
Admin d'Inkscape-fr
Messages : 56
Inscription : 27 oct. 2008, 20:31

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par jazzynico »

Bonjour,

Ce n'est peut-être pas directement lié mais j'ai un gros doute sur l'option -w. Dans le man d'Inkscape, il est écrit :
-w, --export-width=WIDTH
The width of generated bitmap in pixels. This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints).

Ne serait-ce pas plutôt -z (without gui) qu'il faudrait utiliser ?
Xubuntu 16.04 (Inkscape 0.92/master 64-bit), Windows 7 (0.92/master 64-bit).
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par Titilechat1 »

Bonsoir, Oui erreur de ma part. C'est même -G qu'il me faut, étant sous Windob.
Cela dit le problème persiste.

J'ai réessayer avec l'option "g" à la place de "w". Mais rien y fait. mon objet semble se sélectionner mais pas de changement d'affichage. J'ai essayé de Afficher vers caché et inversement. Mais rien ne se passe. :/

Je me pose des questions si c'est réellement possible :/
Et comment faire autrement !
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par Titilechat1 »

Up !
jazzynico
Admin d'Inkscape-fr
Messages : 56
Inscription : 27 oct. 2008, 20:31

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par jazzynico »

Bon, après quelques tests (0.48.5, 0.91 et la future 0.92), il semblerait que la plupart des fonctions relatives aux calques ne fonctionnent pas. En fait, toutes celles qui nécessitent la sélection d'un calques, alors que d'autres, globales comme LayerHideAll, agissent comme attendu.

À mon humble avis, il s'agit d'un problème de sélection des calques dans l'outil de gestion des calques. Lorsqu'il est fait appel à la ligne de commande, l'objet sélectionné correspond à l'élément XML correspondant à l'identifiant donné. Dans ce cas là, les actions sur le calque sont inopérantes. Lorsque le calque est sélectionné avec la boîte de dialogue des calques, aucun objet XML n'est actif (on peut vérifier avec l'éditeur XML - Ctrl+Maj+X), mais les actions sur les calques fonctionnent.

Donc à priori un défaut spécifique aux calques. Je vais regarder si nous avons un rapport de bogue en cours.
Xubuntu 16.04 (Inkscape 0.92/master 64-bit), Windows 7 (0.92/master 64-bit).
jazzynico
Admin d'Inkscape-fr
Messages : 56
Inscription : 27 oct. 2008, 20:31

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par jazzynico »

Comme contournement, j'avais pensé considérer le calque comme un groupe d'objet (ce qu'il est au sens SVG), mais malheureusement, il n'existe pas de verbe pour cela. Manuellement, ça aurait correspondu à la case Cacher dans la boîte de dialogue des Propriétés d'objets (Ctrl+Maj+O).

Ah, et puis manifestement, certaines actions interdisent l'utilisation du -z pour supprimer l'interface graphique (voir https://bugs.launchpad.net/inkscape/+bug/843260).
Xubuntu 16.04 (Inkscape 0.92/master 64-bit), Windows 7 (0.92/master 64-bit).
jazzynico
Admin d'Inkscape-fr
Messages : 56
Inscription : 27 oct. 2008, 20:31

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par jazzynico »

Bon, et bien un nouveau rapport a été créé pour l'occasion :
Bug #1652615 "Layers related verbs don't work correctly"
https://bugs.launchpad.net/inkscape/+bug/1652615

Comme l'utilisation des verbes est assez confidentielle, je ne suis pas très optimiste sur une résolution rapide du défaut, surtout s'il faut revoir les mécanismes internes aux calques. Mais au moins, les développeurs sont au courant du problème.

Merci de l'avoir fait remonter !
Xubuntu 16.04 (Inkscape 0.92/master 64-bit), Windows 7 (0.92/master 64-bit).
jazzynico
Admin d'Inkscape-fr
Messages : 56
Inscription : 27 oct. 2008, 20:31

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par jazzynico »

Ah, aussi, pas la peine de up-er tous les 3 jours. Le forum est une communauté d'utilisateurs et de contributeurs francophones, tous bénévoles, et il peut arriver que la réponse prenne un peu de temps à arriver (ou n'arrive tout simplement pas, si personne ne sait), en particulier lorsque la question est un peu compliquée à comprendre ou demande une analyse un peu touffue. Dans le pire des cas, il y a quand même des chances pour que quelqu'un donne une piste, à défaut de réponse. Un peu de patience, donc ;)
Xubuntu 16.04 (Inkscape 0.92/master 64-bit), Windows 7 (0.92/master 64-bit).
Titilechat1
Messages : 6
Inscription : 15 déc. 2016, 23:06

Re: Masquer et Afficher un Calque précis en ligne de Command

Message par Titilechat1 »

Merci beaucoup pour vos réponses et temps passé.
Cela me rassure. Etant novice dans la ligne de Commande Inkscape, je pensais mal faire.
Merci pour le ticket de déclaration de Bug.

Désolé pour les Ré-up, je suis novice dans l'utilisation de Forum.

Bonne Fête de fin d'année.
Encore Merci.
Répondre