Comment récupérer le format d'une mise en plan dans une macro solidworks?

Bonjour,

 

je voudrais modifier le fond de plan d'une mise en plan par macro (nouveau modèle de fond de plan) mais pour cela je dois savoir à quel format est ma mise en plan à l'écran.

(A0 ou A1 ou A2 ou A3 ou A4)  cette propriété est sauvergardé dans mon modèle sous le nom "DRAWING-CAD_SHEESIZE".

 

Comment récupérer cette variable dans une macro afinde tester ensuite sa valeur pour charger le nouveau fond de plan de la même taille?

je ne sais juste pas récupérer la variable !!!

 

Merci d'avance

 


format.jpg

Si tu as la suite mycadtools, cette modification en masse se fait facilement via l'utilitaire INTEGRATION.

1 « J'aime »

Non je n'ai pas cet outil...

Bonjour,

Une réponse ici :

https://forum.solidworks.com/thread/67115

 

je débute en VB sous SolidWorks (je fais du VB sous Excel mais c'est différent)

J'ai besoin de quelque chose de clair. (avec les déclarations)

Quelqu'un peut-il m'écrire les lignes de codes (VB) afin de récupérer la valeur de ma variable "DRAWING-CAD-SHEETSIZE".

Je devrais récupérer 'A3' dans une variable.

 

Merci pour votre aide


format.jpg

Bonjour,

Voilà le code que j'utilise EN VBA :

'Récupération infos feuille
Dim ps As PageSetup
Set ps = swDraw.PageSetup
Set swSheet = swDraw.GetCurrentSheet
vSheetProps = swSheet.GetProperties
size = swSheet.GetSize(Width, Height)

Ensuite j'affecte le format du plan dans une variable en fonction des dimensions récupérées.

Va voir dans l'aide API, tu trouveras des billes en recherchant "getsize"...

A +

1 « J'aime »

Merci beaucoupo Glaffont

 

j'étais sur la même piste.

J'ai récupéré les proprités de la feuille

vSheetProps = swSheet.GetProperties

Le vSheetProps (0) me renvoi une valeur entre 6 et 11 en fonction de la taille du papier.

y'a plus qu'à faire un test dessus et le tour est joué.

 

Merci à toi

 

Re,

Si ton format est déjà dans une propriété, tu peux le récupérer de cette façon (toujours en VBA) :

Dim Part As IModelDoc2

Dim ValProp As String

ValProp = Part.GetCustomInfoValue("", "DRAWING-CAD_SHEESIZE")

 

En VB, ça doit donner ça (mais je ne peux pas tester) :

Dim instance as IModelDoc2
Dim Value As System.String

Value = instance.GetCustomInfoValue("","DRAWING-CAD_SHEESIZE")

 

Mais de rien,

La ligne size = swSheet.GetSize(Width, Height) renvoie aussi cette valeur en direct.

J'avais dédoublé les infos car à l'époque je ne savais pas encore extraire les valeurs de vSheetProps (XX)

Bonne journée,