Exemples de formules de saisie dans SOLIDWORKS PDM

Article de Michael Koenig, mis à jour le 29 janvier 2025

Article

SOLIDWORKS PDM Professional permet d'utiliser une formule de saisie pour un champ de texte dans une fiche de données. Cela signifie que ce champ de texte peut afficher les valeurs que les utilisateurs saisissent ou sélectionnent pour d'autres contrôles de la fiche. La formule de saisie peut inclure plusieurs variables, du texte statique et diverses fonctions.

Deux cas d'utilisation courants me viennent à l'esprit concernant l'utilisation des formules de saisie dans les fiches SOLIDWORKS PDM.

  • Remplir une variable en assemblant des chaînes de texte statique et d'autres variables.
  • Attribuer à une variable la valeur d'une autre variable via un alias.

Seul le contrôle de type « Zone d'édition » dispose d'une propriété permettant de définir une formule d'entrée. Cependant, les valeurs des variables qui alimentent cette formule d'entrée peuvent provenir d'une zone d'édition, d'un bouton radio, d'une liste déroulante, d'une liste de sélection, d'une liste simple, d'une liste, d'une case à cocher ou d'un champ de date. Nous allons examiner quelques exemples utilisant des listes de sélection pour choisir les valeurs de variables requises à utiliser dans nos formules.

Utilisation d'une formule de saisie pour concaténer des variables et du texte statique

Dans cet exemple, nous avons une carte modèle comportant les variables « Ville », « Région » et « Code », associées à des contrôles de liste déroulante. De plus, un contrôle de zone de texte est associé à la variable « Nom du projet ». Cette carte modèle a pour but de générer un nom de projet en fonction des valeurs sélectionnées par l'utilisateur pour les variables « Ville », « Région » et « Code ». Un modèle de dossier SOLIDWORKS PDM peut ensuite utiliser cette carte pour créer un nouveau dossier dans le coffre-fort portant le nom du projet.

Les contrôles de liste ne sont pas obligatoires, mais sont souvent utilisés en association avec les formules de saisie. Pour plus d'informations sur les contrôles de liste, consultez le document de référence « SOLIDWORKS PDM Combobox Styles Reference ».

Lorsque le contrôle « Zone d'édition » est sélectionné dans l'éditeur de cartes, les propriétés de ce contrôle s'affichent dans le volet de droite. La propriété « Formule d'entrée » se trouve au bas de ce volet.

Propriété « Formule d'entrée » de MK

Propriété « Formule de saisie » pour un contrôle de type « Zone de saisie »

Nous commencerons par saisir le texte statique « Prj » (abréviation de « Project ») suivi d'un tiret. Ajoutez ensuite les variables « City », « Region » et « Code ». Si vous le souhaitez, vous pouvez insérer des espaces ou d'autres éléments de texte statique entre les variables, mais nous les placerons les uns à la suite des autres. Le menu déroulant permet de sélectionner facilement les variables existantes.

MK : variable de formule d'entrée

Ajouter des chaînes de variables à la formule d'entrée

Lors de l'exécution du modèle de dossier PDM, si un utilisateur sélectionnait respectivement « Londres », « S » et « 340 » pour les champs Ville, Région et Code, la formule d'entrée renverrait « Prj-LondresS340 ». La zone de saisie étant liée à la variable Nom du projet, cela permet de créer un nouveau dossier dans le coffre-fort portant ce nom.

Utilisation de la fonction « Left »

Suppose we want to shorten the project name so that only the first 4 characters of the City are used. This can be done with the Left Substring function. The syntax is, “$Left(<string>,<number>)”, where <string> is the character string, in our case the City variable and <number> is the number of characters to display, in our case 4.

Formule d'entrée MK - Fonction à gauche

Utilisation de la fonction « Left » pour afficher les 4 premiers caractères de la variable « City »

Désormais, le nom du projet sera « Prj-LondS340 » au lieu de « Prj-LondonS340 ».

Tester le comportement

L'exécution du modèle de projet dans la vue locale du coffre-fort affiche la fiche du modèle à l'écran. Une fois les champs « Ville », « Région » et « Code » renseignés, le « Nom du projet » est évalué et renvoie le résultat attendu. En cliquant sur OK, un nouveau dossier sera créé dans le coffre-fort, nommé par exemple « Prj-LondS340 ».

Formule de saisie MK à l'aide d'un modèle

Exécution du modèle pour créer un nouveau projet

Utilisation des alias de formule de saisie

Une autre application de l'utilisation d'une formule d'entrée dans SOLIDWORKS PDM consiste à afficher la valeur réelle d'une variable dans un champ de saisie et une valeur d'alias dans un autre champ. Supposons que nous souhaitions afficher le prix d'un composant sélectionné dans une liste déroulante. Nous pouvons configurer un alias pour chaque composant, la valeur de l'alias correspondant au prix du composant. L'idée est que l'utilisateur sélectionne un composant particulier et que la formule d'entrée renvoie l'alias (c'est-à-dire le prix) de ce composant.

Prenons l'exemple d'une liste déroulante (Combobox) comportant trois éléments : « Long Shaft », « Medium Shaft » et « Short Shaft ». Ce contrôle de liste déroulante est lié à la variable Component. Nous allons créer une autre variable appelée Component Price et la lier à un contrôle de zone de saisie (Edit-box).

Liste déroulante des composants de formule MK

Liste déroulante avec une liste de composants

Une façon de définir des alias consiste à le faire directement dans la formule d'entrée. Le format est le suivant : « %NOM_VARIABLE(VALEUR1=ALIAS1VALEUR2=ALIAS2)% »

Créez une formule de saisie pour la variable « Prix du composant », comme indiqué ci-dessous.

Alias de formule d'entrée MK

Utilisation d'alias dans une formule d'entrée

Ainsi, lorsqu'un utilisateur sélectionne « Long Shaft » dans la liste déroulante « Composant » de la fiche d'un fichier, la zone de saisie « Prix du composant » affichera 300 $.

Notez que les éléments de la liste déroulante ont dû être retapés dans la formule de saisie. Outre le fait que cela nous impose un travail supplémentaire, cette méthode est source d'erreurs de frappe. Par exemple, on peut oublier un espace ou mal orthographier un mot. Il est essentiel de reproduire exactement les éléments de la liste, sinon aucune valeur ne sera renvoyée.

Une meilleure approche consiste à utiliser une liste d'alias, ce qui permettra de simplifier le processus.

Utilisation d'une formule de saisie avec une liste d'alias

Dans l'outil d'administration SOLIDWORKS PDM, créons une liste de fiches et définissons le type de données sur « Texte avec alias ». Saisissez les prix comme alias pour chaque composant de la liste.

Liste des prix des alias des composants de formule d'entrée MK

Créer une liste d'alias

Désormais, la formule d'entrée pour le prix du composant correspond simplement à la variable « Composant », mais c'est l'alias du composant qui sera renvoyé par la formule.

Composant de formule d'entrée MK

Utilisation d'une formule d'entrée pour renvoyer la valeur d'un alias à partir d'une liste d'alias

Que vous définissiez des alias dans une formule d'entrée ou dans une liste de cartes de type alias, le résultat final est le même. Le contrôle « Droplist » affichera la valeur réelle, tandis que la zone d'édition affichera la valeur de l'alias.

Fiche technique des composants de la formule d'entrée MK

Lorsque vous sélectionnez une valeur pour « Composant », l'alias de ce composant est renseigné dans le champ « Prix du composant »

Utilisation de la fonction « Chaîne X à partir de la liste »

Il arrive parfois que l'on souhaite obtenir une liste ordonnée. En reprenant l'exemple ci-dessus, nous allons modifier la liste des cartes de manière à ce que l'alias corresponde au numéro de ligne de la liste.

Liste des alias des composants de formule MK Input

Modifier la liste des alias pour créer une liste ordonnée dans laquelle l'alias sert d'index

Now, we can use the “String X From List” function to evaluate the component price. The format of this function is “$Token(<string>|<string>|…,<index>,|), where <string>|<string>|” is a list of strings to choose from and <index> is the number of the string in the list to return. The first string from the left is index one. Recall that an Input formula returns a variable value’s alias, so we’ll use the Component variable for the Index of the function and build a list of strings for the prices.

Fonction de jeton de formule d'entrée MK

Utilisation de la fonction « Chaîne X de la liste »

Voici comment cela fonctionne : si un utilisateur sélectionne « Medium Shaft », la formule d'entrée attribuera la valeur 2 à la variable « Component » en se basant sur la liste des alias. La deuxième chaîne de caractères dans l'argument de notre fonction étant $200, c'est cette valeur qui sera renvoyée par la formule d'entrée et définie comme valeur pour « Component Price ».

Limites

Les formules d'entrée nécessitent une interaction de l'utilisateur avec la fiche de données pour être évaluées. Par exemple, les variables modifiées automatiquement en raison de propriétés personnalisées mappées dans SOLIDWORKS, d'une action « Définir une variable » dans une transition de flux de travail, ou de l'application des valeurs par défaut lors de la première sauvegarde d'un fichier dans le coffre-fort ne déclencheront pas la mise à jour d'une formule d'entrée. Par conséquent, les contrôles de la fiche de données qui utilisent des formules d'entrée peuvent ne pas être toujours à jour. Pour contourner ce problème, saisissez à nouveau ou sélectionnez à nouveau la même valeur dans l'un des contrôles d'une variable utilisée dans la formule ; la formule d'entrée sera alors réévaluée.

Si vous souhaitez en savoir plus sur SOLIDWORKS PDM, consultez ici notre liste de webinaires à la demande.

Michael Koenig