Problème de mise à jour automatique de la description de la configuration

Bonjour,

J’ai une question concernant la mise à jour de la description d’une configuration dans SolidWorks.

J’aimerais remplir ce champ avec une propriété liée à la configuration.

  • J’ai créé une propriété personnalisée dans mon modèle de pièce :
    %PRP:"Description"
    Cette propriété est liée à ma configuration et se présente sous la forme :
    %PRP:"Description" = $PRP:"Matière" - $PRP:"Traitement"
    Ce qui me donne, par exemple : Inox - Brut.
    Cette méthode fonctionne bien, et la mise à jour se fait en temps réel, mais la description ne s’affiche pas comme étant la description de la configuration.

  • Avec une famille de pièces, j’arrive à utiliser la variable $PRP@DESCRIPTION en tête d’une colonne, mais le problème est que la mise à jour ne se fait que lorsque je recharge manuellement toutes les configurations.
    Et je n’ai pas nécessairement plusieurs configurations, donc je n’ai pas besoin d’une famille de pièces à chaque fois.

  • Enfin, j’ai réussi à remplir le champ de description avec une macro VBA :

Dim swApp As Object
Dim swModel As Object
Dim swCustProp As Object
Dim swConfig As IConfiguration
Dim Matiere As String
Dim Traitement As String

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swConfig = swModel.GetActiveConfiguration
Set swCustProp = swModel.Extension.CustomPropertyManager(swConfig.Name)

swCustProp.Get4 "Matière", False, SW_Variable, Matiere
swCustProp.Get4 "Traitement", False, SW_Variable, Traitement
swModel.GetActiveConfiguration.Description = Matiere & " - " & Traitement

Cependant, cela me contraint à relancer la macro à chaque changement, et je voudrais que cette mise à jour se fasse automatiquement, sans avoir à créer un bouton ou penser à activer la macro chaque fois qu’il y a une mise à jour.

Bref, je suis un peu perdu et je me tourne vers la communauté, pensant passer à côté de quelque chose d’essentiel. Un regard neuf serait vraiment apprécié !

Merci d’avance pour votre aide !

Ta propriété Description tu l’a crée dans l’onglet spécifique à la configuration N°1? (ou bien dans Personnaliser N°2)


Pour une configuration il faut la mettre uniquement dans le 1 (et pas dans le 2)

elle est bien dans specifique à la configuration

exemple famille de pieces

et je le voudrais ici

image

1 « J'aime »

Et dans cette pièce tu n’a pas une autre propriété description dans l’onglet Personnaliser ?(même vide)

A moins que je me trompe tu parles de mettre le texte ici:
image

Si c’est ça la propriété s’appelle $DESCRIPTION et pas $PROPRIETE@DESCRIPTION
Edit: après avoir vu ta modif, la réponse est dans ton image:
image
Tu te trompes bien de propriété entre $DESCRIPTION et $PROPRIETE DESCRIPTION. Celle qui agit sur la case est $DESCRIPTION.

1 « J'aime »

Et pour moi pas possible dans cette case, non liée aux propriétés, de concaténer 2 propriétés sans passer par une famille de pièce, avec les soucis engendrés. (pas de mise à jour auto)

2 « J'aime »

alors c’est pas vraiment une erreur, c’est volontaire (ou alors j’ai pas compris)
$PROPRIETE@DESCRIPTION est remplie par mon tableau de propriétés personnalisé avec la formule donnée au début
et $DESCRIPTION remplie bien le champs description au-dessous de ma configuration
et je veux bien que les 2 champs soient égaux d’où le =R3 pour synchroniser les 2 valeurs

tout ça marche très bien pour les familles de pièces. Cependant !!! 90% du temps je n’ai pas de famille de pièces.
d’où ma recherche pour pouvoir m’en passer et remplir directement le champs description par une variable plutôt que du texte brut.

En gros ce que je voudraiis mais qui ne marche pas c’est
image

PS : merci de ton aide

Malheureusement pas de possibilité comme évoqué de mettre une propriété ou plusieurs propriété dans cette case.
Ce qui oblige soit à faire une macro ou une famille de pièce mais en cas de modification cela ne change pas tout seul.
Ici un sujet sur le forum SW ou la solution apportée était de passé par une famille de pièce:

super je regarde ca merci

Bonjour;
Pour information uniquement, dans notre société (au boulot quoi) il est de coutume que tous nos équipements « bibliothèques » soient codés sous l’onglet « Spécifique à la configuration » … un peu pour les mêmes raison que @Administrateur_BE .
Et donc il n’est rare de devoir créer une famille de pièce même si le composants ne nécessite pas de déclinaisons (pas de configurations).

1 « J'aime »

j’ai peut-etre trouvé un moyen de contourner le probleme avec un post qui n’a rien a voir
source ==>Propriété personnalisée utilisée comme description aucun choix possible

j’ai modifié le nom de ma variable Description en PRPDescription
et rajouté au fichier properties.txt un PRPDescription
et maintenant j’ai bien la bonne description dans mes assemblages
image

j’éditerais demain la procedure avec plus de details pour ceux que ca interesse.

2 « J'aime »

Je pensais que c’était dans le configurationManager que tu voulais cette description, sinon j’aurais pu t’aiguillé vers cette solution que nous utilisons également.

1 « J'aime »

… J’avais compris la même chose… :sweat_smile:

2 « J'aime »

D’où l’importance d’être claire dans l’énoncé du problème! :crazy_face:

2 « J'aime »

en effect je le voulais dans le configurationManager
mais vue que c’est impossible … j’ai dût trouver une alternative

le but initial était d’avoir l’info dans cette fenetre
image

pour donner ca

mais le probleme c’est que ca se remplie à la main et on voit que la matiere n’a pas ete mise à jour

là du coup j’ai l’info à jour mais apres l’insertion de la piece

image

c’est pas ce dont j’avais besoin au debut mais ca fait le taff

ca permet de verifier les couleur et les matieres en un coup d’oeil plutot que d’ouvrire les piéces une par une et verifier les proprietés

bon par contre quand on doit prendre la bonne peinture dans les 50 ral disponible … il faut toujours ouvir la pièce pour savoir à quel config coresspond le bon RAL

1 « J'aime »

Merci pour l’explication, et l’important est le résultat, si cela te convient, tant mieux!

Alors voici une explication qui je l’espère sera plus exaustive et que je l’espere sera utile à d’autres utilisateurs

=============================================================================

Dans notre quotidien professionnel, on est souvent amené à travailler avec de multiples configurations d’une même pièce. Cela peut rapidement devenir un véritable casse-tête, surtout quand on manipule des centaines de composants aux spécifications similaires mais légèrement différentes.

Contexte :

Prenons l’exemple d’une pièce qui possède 33 configurations différentes. Ces configurations sont issues de 3 matières différentes et de 10 traitements différents.

Le problème :

Lorsqu’on assemble cette pièce dans un ensemble monté, il devient presque impossible de distinguer visuellement les différentes pièces. Par exemple, sur la capture suivante, vous pouvez voir 4 fois la même pièce avec 4 codes différents.

Dans notre BE, on peut avoir plus de 3800 composants dans nos assemblages, répartis sur plus de 10 niveaux d’arborescence.

Résultat : pour identifier quelle configuration de pièce correspond à la configuration d’un caisson spécifique , on doit examiner chaque configuration individuellement… ce qui devient extrêmement fastidieux.

Solution proposée :

Pour éviter ce genre de confusion, j’ai créé une variable « Description » dans les propriétés personnalisées de la pièce. Cette variable combine les informations de matière et de traitement de la configuration de la pièce.

Exemple de syntaxe :

$PRP:« Matière » - $PRP:« Traitement »

Cette variable récupère les informations de matière (qui est automatiquement remplie lors de la création de la configuration) et de traitement (qui est souvent renseignée manuellement). L’avantage majeur, c’est que cette variable se met à jour automatiquement si la configuration de la pièce change.

Configuration supplémentaire :

Une fois la variable créée, il faut activer une option dans les paramètres généraux pour que la description apparaisse correctement.
outlis–>Option–>General

Détail

Je l’ai nommé « Description », mais vous pouvez créer autant de variables que nécessaire dans le fichier properties.txt situé dans le dossier des propriétés personnalisées.

Mise à jour dans l’assemblage :

Ensuite, il suffit d’activer les désignations dans votre assemblage pour que les informations de matière et de traitement apparaissent directement dans le nom de la pièce. Vous obtenez alors quelque chose comme :

Nom du fichier SLDPRT <nombre d’occurrences> « matière – traitement » (Nom de la configuration)

Cela permet de vérifier rapidement que la bonne matière et le bon traitement sont appliqués à chaque pièce, même si visuellement elles sont identiques. Par exemple, dans l’image ci-dessous, on peut voir que la matière est correcte, mais les traitements ne le sont pas, ou inversement, bien que les pièces soient identiques visuellement.

On peut maintenant assortir les pieces po

Cela simplifie la gestion des nomenclatures et aide à commander et monter les bonnes références sans ambiguïté.

Problème supplémentaire :

Dans l’idéal, j’aurais voulu que ces informations apparaissent directement dans le champ « Description » de la propriété de la configuration. Toutefois, ce champ ne peut pas être rempli par une variable et doit être saisi manuellement.

Cependant !!! :

Il est possible d’automatiser cette tâche en utilisant une famille de pièces. En plaçant la variable $DESCRIPTION dans la cellule correspondante, puis en créant une équation qui pointe vers la colonne $PROPRIETE@Description (par exemple, =P3), on peut remplir automatiquement le champ « Description » de chaque configuration.

Une fois cela fait, il suffit d’activer l’affichage des descriptions pour voir toutes les informations regroupées :

Résultat final :

Grâce à cette méthode, on obtient un affichage clair et cohérent avec toutes les informations nécessaires directement dans l’assemblage.

Le principal problème reste que les informations ne se mettent pas à jour automatiquement dans la Famille de pièces si la matière ou le traitement change. Cela peut vite devenir un casse-tête pour savoir ce qui est à jour ou non…

NB

D’autant plus quand, dans l’équipe, certains ne savent pas comment utiliser correctement les familles de pièces… Enfin j’me comprend

Cette méthode permet de mieux gérer les configurations complexes et d’éviter les erreurs lors de l’assemblage et de la commande des pièces.

J’espère que cette solution pourra vous être utile pour simplifier la gestion de vos configurations et éviter les erreurs dans vos assemblages.

3 « J'aime »