VBA.dans une mise en plan, comment obtenir les propriétés de la pièce?

Bonjour,

j'aimerais pouvoir obtenir les propriétées de la pièce sur ma mise en plan, comment faire?

Car la finalité est que je veux obtenir ces propriété pour renommer mon pdf, lorsque je convertie ma mise en plan en pdf.

Cordialement,

Il suffit de mettre des notes avec les propriétés désirées.

 

Comme exemple, j'ai pris une note et j'y ai ajouté une propriété de mon questionnaire.

 

Mais vous pouvez prendre n'importe quelle propriété.


note.png
2 « J'aime »

Bart, je crois qu'il veut plutot lancer une macro pour enregistrer sa mep en PDF. Et que dans le nom de ce PDF apparaissent certaines propriétées de la pièce.

 

Celà dit, je ne sais pas comment faire. Peut être trouveras tu un début de réponse dans l'explorateur vba (ça aide pas mal)

 


explorateur_objet.bmp
2 « J'aime »

Bonjour,

coin37coin, tu as raison c'est pour lancer une macro qui converti mon plan, composé de plusieurs feuilles, en plusieur pdf qui sont renommer en fonction des propriétés récupérer.

mais encore aujourd'hui avec l'aide api j'ai testé plusieurs chose mais rien de concluant pour l'instant j'ai juste réussi à récupérer le chemin de l'enplacement de la piece qui est sur ma mise en plan.

Je te colle en lien une question se rapprochant pas mal de la tienne est qui semble répondu sur le forum (.Pl grand maitre du vba !)

 

Tu me diras si ça fonctionne mais apparement oui

 

http://www.lynkoa.com/forum/3d/recuperer-propriete-solidworks

1 « J'aime »

Bonjour,

coin37coin, merci pour l'info et le lien mais j'avais déjà pris connaissance de ce lien auparavant, 

et effectivement cela fonctionne bien sur une piece ouverte mais pas sur une mise en plan...,

je suis donc toujours en recherche...

2 « J'aime »
Toujours pas de solution ? Si c'est le cas je peux chercher. De tête 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.
1 « J'aime »

BOnjour,

Merci .PL c'est vrai, j'arrive à obtenir le chemin entier de la piece, j'éssayerai de partir du nom obtenu pour récupérer les propriétés personnalisés demain.

Désolé même si j'ai trouvée une autre manière d'obtenir les infos que je voulais, je n'ai pas cloturé la question car la base de la question n'était pas vraiment résolu.

j'éssaye de faire tous ça demain et je cloture.

1 « J'aime »

BOnjour,

Merci .PL c'est vrai, j'arrive à obtenir le chemin entier de la piece, j'éssayerai de partir du nom obtenu pour récupérer les propriétés personnalisés demain.

Désolé même si j'ai trouvée une autre manière d'obtenir les infos que je voulais, je n'ai pas cloturé la question car la base de la question n'était pas vraiment résolu.

j'éssaye de faire tous ça demain et je cloture.

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

Merci beaucoup à .PL!