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...
pl
Octobre 2, 2015, 1:06
4
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,