Variable sans version PDM dans script dispatch

Bonjour,
Je tente de récupérer via dispatch la valeur d’une variable sans version de la carte d’un fichier SLDPRT.
J’ai créé la variable « INDEPENDANTE » sans version dans PDM. Cette variable n’est donc pas liée à une propriété solidworks, mais au fichier.
Je crée une commande liée à cette variable « INDEPENDANTE » dans ma carte de données afin de pouvoir affecter une valeur à cette variable.

Je rentre une valeur X pour cette variable, j’archive le fichier.
Je relis la carte, la valeur X est bien sauvegardée.
Je veux utiliser la valeur de cette variable dans un message OUI-NON, le système me ramène une valeur nulle.
Connaissez-vous un moyen de récupérer la valeur d’une variable sans version?

J’ai écrit un peu vite le message précédent.
Mon besoin final est de sécuriser certaines données de la carte pendant le flux.
A partir d’une étape spécifique, je veux interdire le changement de la valeur de certaines variables. Ceci est possible sur les cartes de données, en les grisant ou en les masquant, mais si on modifie la propriété solidworks par l’appli solidworks, la variable de carte prend la dernière valeur rentrée. Et je n’ai pas trouvé comment interdire l’accès des utilisateurs aux propriétés solidworks…
Je pensais pouvoir transférer les valeurs à sauvegarder dans des variables sans version (non présentes dans les propriétés solidworks), et les réinjecter dans les variables de carte mappées aux propriétés solidworks lors de l’archivage via un script dispatch. J’arrive bien à générer la valeur dans la variable sans version, mais je n’arrive pas à la relire ensuite pour la copier dans la variable mappée…
Une idée?

Bonjour,

Pour réinjecter la variable sans version dans une variable de carte mappée il faut utiliser la fonction « Définir les variables de carte ».
Dans le menu déroulant « Variable de carte de destination », sélectionner la variable mappée.
image
Ensuite dans le champ « Entrez une chaîne de texte à utiliser comme valeur de variable » il faut utiliser l’option « Variables définies par l’utilisateur »


Dans l’interface présentée, cliquer sur « Ajouter » puis sélectionner dans le menu déroulant « Type » « Valeur de la variable de carte de données du/des fichiers sélectionné(s) »

Ensuite dans le menu déroulant « Variable de carte de données », sélectionner la variable sans version.
Et ensuite vous utilisez cette variable dans le champ « Entrez une chaîne de texte à utiliser comme valeur de variable ».
Le résultat doit être de ce type:
image

1 « J'aime »

Merci Cyril.
C’est exactement ce que j’avais fait.
Cependant, quand je fais tourner le script, il ne me retourne pas la valeur de la variable sans version de la carte de données, il retourne une valeur nulle et ne remplit donc pas la variable mappée.
Avez-vous fait tourner l’exemple que vous m’avez décrit?
Si oui, et si ça fonctionne chez vous, il se pourrait que j’ai fait une erreur quelque part, ou qu’il y ait un problème de version.
J’ai la SOLIDWORKS PDM 2021 (SP 5.0).
Merci pour votre retour.

Bonjour,

Je viens de tester avec juste un message affiché pour récupérer une variable sans version et le coffre me la remonte bien (je suis sur la 2023 SP5).
De mémoire j’avais déjà testé sur le 2019 ou la 2020.

Pour voir si ça fonctionne faudrait tester avec ce script:

Il ne faut pas oublier le « Pour toutes les configurations » sinon ça retourne une valeur vide.

Super merci Cyril.
Ça marche.
C’était le « pour toutes les configurations » qui manquait.