VBA.dans une mise en plan, comment obtenir les propriétés (SPECIFIQUE A LA CONNFIGURATION) de la pièce?

Bonjour,


J'ai fait une macro pour enregistrer des pièces 3D SolidWorks, en fichier ".step", dans un dossier sur mon bureau, en utilisant 2 valeurs de la propriété de la pièce pour nommer le fichier obtenue.

J'ai également fait une macro pour faire la même chose afin d'exporter, la page active (uniquement), d'une mise en plan, en ".pdf", en nommant le fichier de la même façon, à la différence qu'il faut aller chercher les 2 propriétés personnalisées sur la pièce 3D rattaché à la première vue de la page de ma mise en plan

 

Merci au passage pour toute les indications que j’ai pu trouver sur diffèrent post de ce forum qui m’ont permis de faire cela.

Notamment la réponse de .PL de cette page :
http://www.lynkoa.com//forum/3d/vbadans-une-mise-en-plan-comment-obtenir-les-proprietes-de-la-piece


J’en viens à ma question qui est notée dans le titre car je n’ai pas réussi à trouver ou à comprendre comment faire pour aller chercher les deux mêmes propriétés souhaitées pour nommer le fichier obtenue mais (SPECIFIQUE A LA CONFIGURATION) de la pièce cette fois.
 

 

La partie nommage du fichier de mes macros pour le pdf :
fileName = swRefDoc.Extension.CustomPropertyManager(confName).Get("PART #") & " - " & swRefDoc.Extension.CustomPropertyManager(confName).Get("DESIGNATION") & ".pdf"

 

Pour le step :

fileName = swModel.Extension.CustomPropertyManager(confName).Get("PART #") & " - " & swModel.Extension.CustomPropertyManager(confName).Get("DESIGNATION") & ".step"

 

Quelqu’un pourrait-il m’aider s’il vous plaît à changer ce dernier détail ?
Je vous remercie par avance
Salutation.

Salut,

On a pas l'ensemble de ton code, mais tu dois actuellement renseigner ta variable confName  avec "Document". Afin de permettre d'obtenir les propriétés liées au document.

Il te suffit de mettre le nom de ta configuration dans ta variable confName et le tour est joué.

1 « J'aime »

Salut,

Merci de ta réponse.
cependant je te pris de m'excuser, j'ai essayé des trucs mais ça ne fonctionne pas. je pense avoir compris mais il me manque encore un petit quelque chose..


Mon code et le suivant:

 

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swExportPDFData     As SldWorks.ExportPdfData
Dim fileName As String
Dim nErrors             As Long
Dim nWarnings           As Long


Sub main()

Set swApp = Application.SldWorks


'récupère le document actif
Set CurrentDOC = swApp.ActiveDoc
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

Set swExportPDFData = swApp.GetExportFileData(1)


fileName = swRefDoc.Extension.CustomPropertyManager(confName).Get("PART #") & " - " & swRefDoc.Extension.CustomPropertyManager(confName).Get("DESIGNATION") & ".pdf"
swExportPDFData.SetSheets swExportData_ExportCurrentSheet, ""
swExportPDFData.ViewPdfAfterSaving = False
 
swModel.Extension.SaveAs "C:\Users\CASTELL\Desktop\SldW-Export\" & fileName, 0, 0, swExportPDFData, nErrors, nWarnings

End Sub