Créer propriété personnalisée plan faisant référence à celle d'un pièce

Bonjour,

 

Voici mon soucis. Je souhaite renommer les onglets de mon plan en leur attribuant mon numéro de pièce (stocké dans la propriété personnalisée NUMERO_DESSIN).

 

J'utilise donc la commande 

Nom_Onglet = SWmoddoc.GetCustomInfoValue("", "NUEMRO_DESSIN")

 

Or la propriété NUMERO_DESSIN est une propriété de la pièce et non du plan. Or cette fonction ne marche visiblement qu'avec les propriété du plan.

 

Je souhaiterais donc par exemple créer une propriété du plan qui reprenne comme valeur la propriété de la piece NUMERO_DESSIN.

 

J'ai essayé de créer une propriété plan ayant la valeur $PRPSHEET:"NUMERO_DESSIN" comme dans le cartouche, pour faire référence à la propriété de la pièce, mais cela ne fonctionne pas...

 

 

Une idée?

 

Ou alors si vous connaissez une commande identique à SWmoddoc.GetCustomInfoValue mais qui ^permettrait de récupérer les propriétés de la piece ouverte dans le plan.

 

Merci par avance!

Voilà la solution :

il faut activer la première vue de la mise en plan pour récupérer le nom de la pièce, ensuite seulement on peut récupérer les propriétés personnalisées.

Voilà la procédure que j’utilise pour récupérer la propriété personnalisée « code » depuis une mise en plan :

 

'#####################################################################

'partie pour récupération des propriétés perso

'on active le 3d pour la récup des infos

'##########################################

Set swApp = Application.SldWorks

Set CurrentDOC = swApp.ActiveDoc ‘récupère le document actif

Set swModel = swApp.ActiveDoc

Set swConfigMgr = swModel.ConfigurationManager

Set swDraw = swModel

Set swView = swDraw.GetFirstView 'active/récupère le fond de plan pour les propri perso

Set swView = swView.GetNextView 'active/récupère la première vue pour les propri perso

Set swRefDoc = swView.ReferencedDocument  ' On a maintenant swRefDoc le 3D de la mise en plan

CODE = swRefDoc.GetCustomInfoValue("", "code") ‘on récupère la propriété code

 

Voir aussi :

http://www.lynkoa.com/sites/default/files/questions/answer/30/10/2015/macro_pdf_reference.txt

 

1 « J'aime »

Merci .PL! Sur le principe ça me semble top! Par contre j'ai un problème car il me signale que les variables ne sont pas définies et je ne sais pas trop à quel type elles correpondent dans tous ces cas..

Pour ton cas, tu dois juste remplacer :

CODE par NUMERO_DESSIN :

NUMERO_DESSIN= swRefDoc.GetCustomInfoValue("", "NUMERO_DESSIN") ‘on récupère la propriété NUMERO_DESSIN

Ensuite, tu dois utiliser cette varialbe NUMERO_DESSIN dans l'autre macro pour renommer ta feuille (à la palce de "plan")