Programmer avec PDM : lire et modifier des variables avec Visual Studio et C#

L’article suivant décrit comment Visual Studio et C# permettent de lire et de modifier les variables dans PDM.

1. Introduction

Lorsque l’on travaille avec PDM, il est toujours important de travailler avec des variables pour les différents fichiers. Chaque fichier dans PDM possède une carte de données qui affiche les valeurs de différentes variables. Selon le type de fichier, il existe même différentes configurations.

Dans ce TecTip, nous allons écrire une application autonome qui lit les variables d’un fichier dans un coffre-fort et les traite ensuite.

2. Créer un projet

La première étape consiste à créer un nouveau projet dans Visual Studio. Pour cela, nous utilisons une application Windows Forms pour le framework .NET, comme dans l’illustration.

Le nom du projet, le lieu de stockage et le nom de la solution peuvent ensuite être choisis librement. Le framework choisi doit être .NET Framework 4.5 ou supérieur. Dans ce travail, c’est la dernière version .NET Framework 4.8 qui est utilisée.

Figure 1 : Création d’un nouveau projet dans Visual Studio

Après la création du projet, il faut comme toujours ajouter la bibliothèque correcte de PDM pour pouvoir travailler correctement avec l’API. Voici comment ajouter le bon NuGet Packet pour PDM :

Figure 2: Sélectionner le bon paquet

Pour pouvoir bien tester les fonctions, la forme est configurée de manière appropriée et pourrait ressembler à la figure 3.

Afin de pouvoir travailler correctement dans le code, il convient d’attribuer un bon nom à tous les contrôles. Ceux-ci peuvent être adaptés en sélectionnant le contrôle et en modifiant la valeur ‘name’ dans les propriétés. Cela est également visible dans la figure 3. Pour la dénomination, j’utilise les noms suivants (de gauche à droite).

Première ligne (Variable Lire):

  • TextBox_Read_Variable
  • Button_Read
  • Label_Read_Value

Deuxième ligne (Variable Mettre à jour)

  • TextBox_Update_Variable
  • TextBox_Update_Value
  • Button_Update

Figure 3 : Exemple de forme

Enfin, un double-clic sur chaque bouton permet de déterminer la méthode appropriée pour l’événement de clic du bouton, dans laquelle le code est ensuite écrit.

Mais avant de pouvoir commencer, il faut définir quelques objets et variables.

Figure 4 : Préparation

Tout d’abord, deux variables constantes sont créées, l’une contenant le chemin d’accès au fichier dans PDM et l’autre le nom du coffre-fort. Ensuite, on crée l’objet pour le coffre-fort et après avoir initialisé la forme, on vérifie si l’utilisateur est déjà connecté et si ce n’est pas le cas, on effectue une connexion au coffre-fort défini.

3. Lire les variables

La méthode de lecture d’une variable est illustrée dans la figure 5.

Figure 5 : Lire une variable

Dans la méthode Read, l’objet pour le fichier PDM est d’abord récupéré. Pour cela, la méthode est appelée par le coffre-fort initialisé, qui renvoie l’objet pour le fichier à l’aide du chemin.

Ensuite, l’objet pour la gestion des variables est récupéré à partir de cet objet fichier. Cela se fait avec la méthode GetEnumeratorVariable. Celle-ci permet finalement d’extraire la variable sous forme de texte. Pour cela, seul le nom de la variable, la configuration et l’ID du dossier sont transmis comme paramètres.

Le dernier paramètre est la sortie du résultat. Celui-ci peut ensuite être affiché dans l’étiquette.
Des informations sur la lecture peuvent également être consultées ici :

Méthode GetVarAsText

4. Mettre à jour les variables

La méthode de mise à jour d’une variable est illustrée dans la figure 6.

Figure 6: Mettre à jour une variable

La mise à jour est un peu plus compliquée. Si un Addin est créé, on peut également utiliser la variable Enumerator comme pour la lecture de la variable. Dans une application autonome, on obtient cependant une erreur. C’est pourquoi nous utilisons une alternative qui fonctionne aussi bien pour les Addins que pour les applications autonomes.

Tout d’abord, l’objet fichier est à nouveau chargé. Comme quelque chose est maintenant modifié, il faut vérifier si le fichier est extrait. Si ce n’est pas le cas, le fichier doit être extrait. Le fait que le fichier ait été extrait ou non est également consigné dans une variable bool. Ainsi, il est possible de décider à la fin si le fichier doit être à nouveau archivé ou s’il doit rester archivé. Il est également possible d’ignorer cette étape et de verrouiller ou de déverrouiller définitivement le fichier.

La partie la plus importante est la suivante : tout d’abord, l’Utitly est créé par le coffre-fort afin d’effectuer une BatchUpdate. Cet objet permet ensuite d’appeler la méthode de définition des variables. Pour cela, il faut passer en paramètre l’ID du fichier, l’ID de la variable, la valeur de la variable et la configuration. Pour trouver l’ID de la variable, une nouvelle méthode a été écrite, qui renvoie la valeur. Pour cela, il suffit d’interroger le Mgr de variables du coffre-fort et d’appeler la méthode GetVariable avec un paramètre contenant le nom de la variable. Ensuite, la propriété ID peut être retournée. Avec le BatchUpdate, une CommitUpdate peut maintenant être exécutée et la variable est écrite.

Des informations sur la mise à jour peuvent également être lues ici :
Méthode SetVar

Comme toujours, le code complet peut être téléchargé à partir de notre référentiel :

Vers le référentiel

auteur de l'article

Martin Bartolome, Application Engineer chez Visiativ Switzerland